Are BSD/Posix sockets reentrant?
Can several threads operate on the same socket descriptor, i.e ac开发者_如何学运维cept(sock_fd)
at the same time without concern?
The platform I'm mostly interested in is POSIX/Linux.
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.
精彩评论