in reply to is the socket done or not?

select() tells you that at least one byte (or end of file) is available to be read from a client. <$client> will block at least until it sees a newline or end-of-file. So there are lots of ways for your server to hang for at least a while. You may need to make your server more sophisticated.

With sockets, you send end-of-file using close() or shutdown().

For more ideas, I'd probably need to see the client's code as well.

Updated to be a bit more correct about what select() tells you.

        - tye (but my friends call me "Tye")