看板 DFBSD_commit 關於我們 聯絡資訊
:This is fine to me, did you consider how to exit whole process not :just a single thread ? right now, I am using _exit(), but it only :exits current thread, other threads can not be shutdown. The problem with using _exit() to exit all threads is that there is no way to notify the other threads of the event, and there are cases where we might want that feature. I think what we want here is a signal rather then a system call. Since we are already going to create a distinction in the signal handling between vectored and shared signals, there is no reason why we couldn't also create the concept of a 'broadcast' signal, that all threads get. SIGKILL, SIGSTOP, SIGTSTP, SIGCONT... these would all be broadcast signals by default. We would implement it via sigaction(). We would add a SA_BROADCAST flag to handle broadcast signals, and we would also add a SA_VECTORED flag to differentiate between shared signals and targeted signals. -Matt Matthew Dillon <dillon@backplane.com>