New signal-handling API
|Reported by:||simonmar||Owned by:||igloo|
|Keywords:||Cc:||pho@…, bos@…, tibbe, anton.nik@…, phunge0@…, leuschner@…, william.knop.nospam@…, lewurm@…|
|Type of failure:||None/Unknown||Test Case:|
|Related Tickets:||Differential Rev(s):|
Description (last modified by simonmar)
The current API for handling signals in System.Posix is lacking in a couple of ways:
- it isn't modular: there's no way for a library to install a private signal handler, there is only a singla global handler per signal.
- it isn't possible to get hold of the information from siginfo_t (#592).
I want to propose a new API. This has already undergone a round of changes after discussion with Duncan Coutts, and we ended up with something quite simple. Haddock docs are here:
(also attached as unix-html.tar.gz).
I have working patches to implement this. The old API is still available, and is reimplemented using the new API. Signal handlers installed using the old API will coexist with those installed using the new API.
The main motivation for this change was so that I could hook the SIGCHLD signal in the System.Process library without disturbing users of the System.Posix library who might also want to install a SIGCHLD handler.
Deadline: 1 Aug (2 weeks)
Change History (38)
Changed 8 years ago by simonmar
comment:6 Changed 7 years ago by igloo
- Milestone changed from Not GHC to 6.12 branch
- Priority changed from normal to high
comment:12 Changed 6 years ago by simonmar
- Description modified (diff)
- Type of failure set to None/Unknown
comment:29 Changed 6 years ago by simonmar
- Milestone changed from 7.0.1 to _|_
- Priority changed from high to normal
comment:34 Changed 3 years ago by igloo
- Milestone changed from _|_ to 7.8.1
- Priority changed from normal to highest