I'd like to make sure about the correctness of the way I try to use accept()
on a socket.
I know that in Linux it's safe to listen()
on a socket, fork()
N children and then recv()
the packets in all of them without any synchronisation from the user side (the packets get more or less load-balanced between the children). But that's UDP.
Does the same property hold for TCP and listen()
, fork()
, accept()
? Can I just assume that it's ok to accept on a shared socket created by the parent, even when other children do the same? Is POSIX, BSD sockets or any other standard defining it somewhere?