On Tuesday, 1 October 2013 at 08:01:21 UTC, Jacob Carlborg wrote:
On 2013-10-01 06:54, PauloPinto wrote:

I would say the main reason is that anyone can replace the current set of signals, thus breaking what might be druntime's signal handling.

If druntime has a default signal handler and the user replaces that. It's up to the user to call the original signal handler so everything is properly destructed/finalized.

It's the same problem with the GC and all the other handlers that druntime has that the user can override.

I would consider these very advanced features and not something a user should be fiddling with every day.

I just remember that you also have the added problem that signal handlers are very limited in what you are allowed to do, with the set of restrictions and guarantees not being portable across all POSIX systems.

Specially the tricks of notifying the application a signal has happened, after signal returns and the whole story of redoing interrupted system calls.

--
Paulo

Reply via email to