CVSROOT: /cvs Module name: src Changes by: [EMAIL PROTECTED] 2008/10/02 22:22:37
Modified files: sys/sys : proc.h sys/kern : kern_sig.c lib/librthread : rthread.h rthread_sig.c Log message: Make sigwait() work correctly. In particular, it'll work when the signal is already pending in the calling thread or the main thread and there's no longer a race condition where the signal could be diverted but sigwait() would still block. There were some off-by-one errors too. (The checking of the main thread's pending list is just until a pending list for the process can be added to struct process. For now, such signals end up as pending on the main thread.) oks tedu@ and art@