William A. Rowe, Jr. wrote:
This patch looks correct, and because of the nature of the flaw it fixes, this is issue 2/2 that held me up this weekend.
FYI - this is considered a non-issue by our 1.2 RM, so I am not addressing it in the current release cycle as it's more important to tag a 0.9 release matching the current 1.2, and it's something to address in the next cycle when we also catch the WAIT_ABANDONED case. Note that I'm still stuck trying to envision a current use case for this exception in any Apache code. The WAIT_ABANDONED case is not an issue in correctly written code, since the the thread holding a lock should -not- be abruptly terminated in any normal case. The TIMEOUT case is not an issue if there is a timeout, since traditional network apps will abandon the client / server when it hasn't responded in the specified TIMEOUT. The only case I can envison where this particular fix is effective, is in the case of a nonblocking ping, timeout 0, looking to see if the channel is ready. In that edge case, I can see data arriving in the small window before we give up. Note also this is not the only occurance in the code of this condition, and it is interrelated to the WAIT_ABANONDED case, which is why the correct patch is far more complex. Let us know if we've misunderstood your expected cases. Bill