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@