Simon Riggs wrote:
> I'm thinking of some simple bookkeeping, so that before any session
> issues a blockable call it takes note that it is doing so in a shared
> array, and clears that state again once released. A single watcher
> thread can then regularly scan the state array and see if a session is
> marked as waiting on both send and receive. Side threads are already
> used for login timeout handling, so that mechanism is already in use.
> Some loss of performance would be acceptable.
I don't see how this can work. The whole point is that if we're blocked
on send, we're *not* blocked on receive by definition.
-O