views:

93

answers:

1

Can several threads operate on the same socket descriptor, i.e accept(sock_fd) at the same time without concern?

The platform I'm mostly interested in is POSIX/Linux.

+1  A: 

Yes, they are "reentrant" - kernel locks the socket structure while working on it (see Linux accept source for example), so only one thread would get the client connection.

Nikolai N Fetissov