• Mikio Hara's avatar
    net: separate unix pollster initialization from network file descriptor allocation · 554d47ec
    Mikio Hara authored
    Unlike the existing net package own pollster, runtime-integrated
    network pollster on BSD variants, actually kqueue, requires a socket
    that has beed passed to syscall.Listen previously for a stream
    listener.
    
    This CL separates pollDesc.Init of Unix network pollster from newFD
    to avoid any breakages in the transition from Unix network pollster
    to runtime-integrated pollster. Upcoming CLs will rearrange the call
    order of pollster and syscall functions like the following;
    
    - For dialers that open active connections, pollDesc.Init will be
      called in between syscall.Bind and syscall.Connect.
    
    - For stream listeners that open passive stream connections,
      pollDesc.Init will be called just after syscall.Listen.
    
    - For datagram listeners that open datagram connections,
      pollDesc.Init will be called just after syscall.Bind.
    
    This is in preparation for runtime-integrated network pollster for BSD
    variants.
    
    Update #5199
    
    R=dvyukov, bradfitz
    CC=golang-dev
    https://golang.org/cl/12663043
    554d47ec
fd_poll_unix.go 7.36 KB