tdevdraw/OSX: correct access to reply buffer (fixes rpc tag crash) - plan9port - [fork] Plan 9 from user space
 (HTM) git clone git://src.adamsgaard.dk/plan9port
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 607880ce788bbfb8585271af117a52e9359324dd
 (DIR) parent 6c99870701d4a71d429a26f357859416c875b2fb
 (HTM) Author: Russ Cox <rsc@swtch.com>
       Date:   Wed,  8 Oct 2008 14:59:32 -0700
       
       devdraw/OSX: correct access to reply buffer (fixes rpc tag crash)
       
       Diffstat:
         M src/cmd/devdraw/osx-srv.c           |       4 ++++
       
       1 file changed, 4 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/src/cmd/devdraw/osx-srv.c b/src/cmd/devdraw/osx-srv.c
       t@@ -289,6 +289,7 @@ runmsg(Wsysmsg *m)
        /*
         * Reply to m.
         */
       +QLock replylock;
        void
        replymsg(Wsysmsg *m)
        {
       t@@ -303,6 +304,8 @@ replymsg(Wsysmsg *m)
                if(trace) fprint(2, "-> %W\n", m);
                /* copy to output buffer */
                n = sizeW2M(m);
       +
       +        qlock(&replylock);
                if(n > nmbuf){
                        free(mbuf);
                        mbuf = malloc(n);
       t@@ -313,6 +316,7 @@ replymsg(Wsysmsg *m)
                convW2M(m, mbuf, n);
                if(write(4, mbuf, n) != n)
                        sysfatal("write: %r");
       +        qunlock(&replylock);
        }
        
        /*