How exactly does this work under the hood / at the OS level (primarily in Unix implementations / from the perspective of the sockets API)?
The cluster module documentation says:
"the master process listens on a port, accepts new connections and distributes them across the workers in a round-robin fashion"
Does this mean the master process alone handles / calls accept() on incoming connections, and then passes the returned socket descriptor to a pre-forked child process via some IPC mechanism (Unix domain sockets?), where it's presumably registered with a local (to that process) multiplexing mechanism (e.g. an epoll instance)?
I'm trying to gain a better understanding of the inner workings of Node.js, but can't find a whole lot of definitive info at this level. Any help is much appreciated.