• Mikio Hara's avatar
    net: separate pollster initialization from network file descriptor allocation · 6a76bca3
    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 (actually runtime_pollOpen) from newFD
    to allow control of each state of sockets and adds init method to netFD
    instead. Upcoming CLs will rearrange the call order of runtime-integrated
    pollster and syscall functions like the following;
    
    - For dialers that open active connections, runtime_pollOpen will be
      called in between syscall.Bind and syscall.Connect.
    
    - For stream listeners that open passive stream connections,
      runtime_pollOpen will be called just after syscall.Listen.
    
    - For datagram listeners that open datagram connections,
      runtime_pollOpen will be called just after syscall.Bind.
    
    This is in preparation for runtime-integrated network pollster for BSD
    variants.
    
    Update #5199
    
    R=dvyukov, alex.brainman, minux.ma
    CC=golang-dev
    https://golang.org/cl/8608044
    6a76bca3
fd_poll_runtime.go 2.77 KB