Hello,
I think to make progress on this bug we really need a failing test case that other people can reproduce.
I have hacked up small server that should reproduce the error (using fdWrite instead of sendfile). And a small C client which is intended to reproduce the error -- but doesn't.
I have attached both.
The server tries to write a whole lot of 'a' characters to the client. The client does not consume any of them. This causes the server to block on the threadWaitWrite.
No matter how I kill the client, threadWaitWrite always wakes up. So, we need to figure out exactly what the PS3 is doing differently that causes threadWaitWrite to not wakeup.. If we don't know why it is failing, then I don't think we can properly fix it.
- jeremy