Opened 7 weeks ago

Closed 6 weeks ago

Last modified 6 weeks ago

#12912 closed bug (fixed)

IO library should not use select()

Reported by: simonmar Owned by: simonmar
Priority: normal Milestone: 8.0.2
Component: libraries/base Version: 8.0.1
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:

Description

The IO library uses select() in fdReady(), which fails in processes with more than 1024 file descriptors.

Change History (3)

comment:1 Changed 6 weeks ago by Ben Gamari <ben@…>

In f46369b8/ghc:

fdReady: use poll() instead of select()

select() is limited to 1024 file descriptors.  This actually blew up
in a very hard-to-debug way in our production system when using the
hinotify package.

Test Plan:
libraries/tests pass, paricularly hGetBuf001 which exercises this
code.

Reviewers: niteria, erikd, austin, hvr, bgamari

Reviewed By: bgamari

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D2785

GHC Trac Issues: #12912

comment:2 Changed 6 weeks ago by bgamari

  • Resolution set to fixed
  • Status changed from new to closed

comment:3 Changed 6 weeks ago by bgamari

Note: See TracTickets for help on using tickets.