Network socket concurrency (userland)

2010-11-19 Thread Ivan Voras
Are there any standard-defined guarantees for TCP network sockets used by multiple threads to do IO on them? Specifically, will multiple write() or send() calls on the same socket execute serially (i.e. not interfere with each other) and blocking (until completion) even for large buffer

Re: Network socket concurrency (userland)

2010-11-16 Thread Joerg Sonnenberger
On Tue, Nov 16, 2010 at 03:37:59PM +0100, Ivan Voras wrote: Are there any standard-defined guarantees for TCP network sockets used by multiple threads to do IO on them? System calls are atomic relative to each other. They may be partially executed from the perspective of a remote system, e.g.

Re: Network socket concurrency (userland)

2010-11-16 Thread Ivan Voras
On 11/16/10 16:19, Joerg Sonnenberger wrote: On Tue, Nov 16, 2010 at 03:37:59PM +0100, Ivan Voras wrote: Are there any standard-defined guarantees for TCP network sockets used by multiple threads to do IO on them? System calls are atomic relative to each other. They may be partially executed

Re: Network socket concurrency (userland)

2010-11-16 Thread Joerg Sonnenberger
On Tue, Nov 16, 2010 at 04:51:04PM +0100, Ivan Voras wrote: On 11/16/10 16:19, Joerg Sonnenberger wrote: On Tue, Nov 16, 2010 at 03:37:59PM +0100, Ivan Voras wrote: Are there any standard-defined guarantees for TCP network sockets used by multiple threads to do IO on them? System calls are