]> Cypherpunks repositories - gostls13.git/commitdiff
libmach: detail for darwin errors
authorRuss Cox <rsc@golang.org>
Sat, 6 Nov 2010 03:03:53 +0000 (23:03 -0400)
committerRuss Cox <rsc@golang.org>
Sat, 6 Nov 2010 03:03:53 +0000 (23:03 -0400)
R=r, r2
CC=golang-dev
https://golang.org/cl/2937041

src/libmach/darwin.c

index feb49c059b57bde274aa651d475823dd72b39695..7ee6f7acecec0add197cb7214340745bb65ef6e5 100644 (file)
@@ -807,8 +807,10 @@ ctlproc(int id, char *msg)
 
                // Find Mach thread for pid and suspend it.
                t = addpid(id, 1);
-               if(t == nil)
+               if(t == nil) {
+                       fprint(2, "ctlproc attached: addpid: %r\n");
                        return -1;
+               }
                if(me(thread_suspend(t->thread)) < 0){
                        fprint(2, "ctlproc attached: thread_suspend: %r\n");
                        return -1;
@@ -816,7 +818,12 @@ ctlproc(int id, char *msg)
 
                // Let ptrace tell the process to keep going:
                // then ptrace is out of the way and we're back in Mach land.
-               return ptrace(PT_CONTINUE, id, (caddr_t)1, 0);
+               if(ptrace(PT_CONTINUE, id, (caddr_t)1, 0) < 0) {
+                       fprint(2, "ctlproc attached: ptrace continue: %r\n");
+                       return -1;
+               }
+               
+               return 0;
        }
 
        // All the other control messages require a Thread structure.