The socket timeout is used within the connect() and accept() methods. It does not currently affect calls that send or receive data.
One side effect of using the timeout is that the connect() and accept() calls are then interuptable, allowing a signal handler to gracefully interupt a process that is hung waiting for a connect() or accept() to complete. So in essence the timeout value tells the module how long we are prepared to block IO while awaiting a connect() or accpet(). You need to do the management of 'lost clients' at the SESSION level.