Signals are way too complicated, introduce a lot of corner cases. And for no real gain - it's not possible to use signals reliably (in part because signal numbers are shared) beyond simple SIGHUP signaling.
Windows DPC shows us that signals _can_ be done right.
Posted Nov 19, 2010 14:57 UTC (Fri) by Yorick (subscriber, #19241)
[Link]
Windows DPC shows us that signals _can_ be done right.
I'm not very familiar with Windows, but isn't DPC a pure kernel-mode concept rather than something available in userspace? Windows does not appear to believe in pre-empting running userspace threads by user code - an approach that clearly solves some problems but mainly by taking options away from the programmer. This is not necessarily a bad thing, of course.
Of course, since Unix signals are used for so many very different purposes, they cannot and should not be replaced by a single new mechanism.
Signals is the WORST part of Unix.
Posted Nov 19, 2010 17:06 UTC (Fri) by Cyberax (✭ supporter ✭, #52523)
[Link]
It's possible to drop from DPC to userlevel (in effect, replacing the currently executed code). In fact, signals are trivial to implement using DPC.
>Of course, since Unix signals are used for so many very different purposes, they cannot and should not be replaced by a single new mechanism.
Unix signals are MISused for many purposes. They are broken and should be deprecated.