CVSROOT:        /cvs
Module name:    src
Changes by:     v...@cvs.openbsd.org    2020/03/18 09:48:22

Modified files:
        sys/kern       : kern_exit.c kern_sig.c 
        sys/sys        : proc.h 

Log message:
Restart child process scan in dowait4() if single_thread_wait() sleeps.
This ensures that the conditions checked are still in force. The sleep
breaks atomicity, allowing another thread to alter the state.

single_thread_set() should return immediately after sleep when called
from dowait4() because there is no guarantee that the process pr still
exists. When called from single_thread_set(), the process is that of
the calling thread, which prevents process pr from disappearing.

OK anton@, mpi@, claudio@

Reply via email to