Tcl Source Code

Ticket Change Details
Login
Overview

Artifact ID: 4c6cc4aa0e28cadd35d50778b688d9aa8a3b4d3de38f64392dbf7d59d786ab9e
Ticket: c6897e6e6a8a65a995ec35c9c297b926bf1b6783
select notifier crashes/misbehaves on fd >= FD_SETSIZE
User & Date: chw 2019-11-08 23:25:32
Changes

  1. 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.
    
  2. login: "chw"
  3. mimetype: "text/plain"