Ticket #1520 (closed task: wontfix)
Use Linux's signalfd() instead of pipe() to deliver signals to the IO manager
| Reported by: | simonmar | Owned by: | |
|---|---|---|---|
| Priority: | lowest | Milestone: | 7.6.2 |
| Component: | Runtime System | Version: | 6.6.1 |
| Keywords: | Cc: | ||
| Operating System: | Linux | Architecture: | Unknown/Multiple |
| Type of failure: | None/Unknown | Difficulty: | Moderate (less than a day) |
| Test Case: | Blocked By: | ||
| Blocking: | Related Tickets: |
Description
As pointed out to me by dcoutts, Linux has a new API that enables signals and other events to be delivered via a file descriptor, and hence used with select()/poll()/epoll(). The new API went into Linux 2.6.22:
http://kernelnewbies.org/Linux_2_6_22#head-0357b2415f5d3116bf2b03de07224d16912acec2
We could use this in GHC's IO manager to avoid the hacky use of pipe() for the same purpose.
Change History
Note: See
TracTickets for help on using
tickets.
