Overview
Artifact ID: | 4c6cc4aa0e28cadd35d50778b688d9aa8a3b4d3de38f64392dbf7d59d786ab9e |
---|---|
Ticket: | c6897e6e6a8a65a995ec35c9c297b926bf1b6783
select notifier crashes/misbehaves on fd >= FD_SETSIZE |
User & Date: | chw 2019-11-08 23:25:32 |
Changes
- icomment:
I think it mainly boils down to this https://www.androwish.org/home/artifact?udc=1&name=e337a3b2239dcc19&ln=1727,1737 which seems to be a design flaw in the socket layer, i.e. listen() allows for a backlog which accept() cannot satisfy due to other process/system constraints. In the shiny modern world of multi threads/cores and a single table of file descriptors per process this introduces a race which properly could be resolved only by kernel support in the spirit of dup2(), i.e. atomically swap an old file descriptor with the new one obtained through accept(). Thus, I blatantly propose to name this new system call either dupcept() or accdupt(). I bet, the lack of it already burned legions of software engineers.
- login: "chw"
- mimetype: "text/plain"