]> Cypherpunks repositories - gostls13.git/commit
net: separate pollster initialization from network file descriptor allocation
authorMikio Hara <mikioh.mikioh@gmail.com>
Tue, 6 Aug 2013 14:42:33 +0000 (23:42 +0900)
committerMikio Hara <mikioh.mikioh@gmail.com>
Tue, 6 Aug 2013 14:42:33 +0000 (23:42 +0900)
commit6a76bca362083a2794b5c7d4ccc61d5c9bec7111
tree794edaad44123e74b296da33b52dbd32f4544f67
parent33bd9694cd1fcbfbba9f5ce51de5975e72696632
net: separate pollster initialization from network file descriptor allocation

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
src/pkg/net/fd_poll_runtime.go
src/pkg/net/fd_unix.go
src/pkg/net/fd_windows.go
src/pkg/net/file_unix.go
src/pkg/net/sock_posix.go