When developing in Linux,SELECT() behaved unexpectedly when there were a large number (tens of) accepted TCP-sockets. This was fixed by implementing a buffer constantly reading from the TCP-connection and writing to a UNIX-domain pipe and then selecting from the pipes instead. The error was a read error from read().
Is this kind of behaviour found in FreeBSD? Does anyone know why the Linux implementation could do this?
Should this be included as an operating system service - should there be internal TCP buffers as a service?
Is this kind of behaviour found in FreeBSD? Does anyone know why the Linux implementation could do this?
Should this be included as an operating system service - should there be internal TCP buffers as a service?