]> Zhao Yanbai Git Server - minix.git/commitdiff
Clear trace bit for child on fork.
authorDavid van Moolenbroek <david@minix3.org>
Wed, 13 May 2009 21:58:10 +0000 (21:58 +0000)
committerDavid van Moolenbroek <david@minix3.org>
Wed, 13 May 2009 21:58:10 +0000 (21:58 +0000)
Without this, a forking single-stepped process will have its child
die from a TRAP signal right away.

kernel/system/do_fork.c

index 7e6b30388645dce33a49b12a8e6f74c1ce3b2922..a365ab77a313238e24bcc7b860d883c6e353ef80 100644 (file)
@@ -55,6 +55,8 @@ register message *m_ptr;      /* pointer to request message */
   rpc->p_user_time = 0;                /* set all the accounting times to 0 */
   rpc->p_sys_time = 0;
 
+  rpc->p_reg.psw &= ~TRACEBIT;         /* clear trace bit */
+
   /* Parent and child have to share the quantum that the forked process had,
    * so that queued processes do not have to wait longer because of the fork.
    * If the time left is odd, the child gets an extra tick.