TASK_KILLABLE
TASK_KILLABLE
Posted Jul 3, 2008 3:55 UTC (Thu) by jwb (guest, #15467)Parent article: TASK_KILLABLE
This is a great idea. Signals are the worst, stupidest part of Unix (yes, they are even more stupid than creat) and EINTR has a long history of exposing errors in programs. I have never seen any program which I could confidently claim handles all signals correctly. The nature of the asynchronous delivery and the completely undefined state of the program which takes the signal makes it impossible to prove or even convincingly demonstrate that Unix programs are correct in this regard. I'd be very happy to see Linux moving over to the BSD kqueue API, where signals are handled in a program's main i/o loop instead of being delivered to magical handlers. This greatly simplifies the programming and makes it possible to have confidence in the correctness of a program.