The second being where you pass the client socket (over a UNIX message with send_msg) and allow the worker to flush the buffers and close the socket. ... The problem with the second model is you lose the ability to have connections live longer their request (otherwise they are restricted to that workers affinity which will not be evenly balanced).
Remove this problem by having the worker process pass the file descriptor back to the master process as an open (doesn't need to be accept()'ed) socket to be reprocessed or closed as necessary.
Remove this problem by having the worker process pass the file descriptor back to the master process as an open (doesn't need to be accept()'ed) socket to be reprocessed or closed as necessary.