kr/beanstalkd — Issue #78: A second connection watching a tube hangs reserve-with-timeout
Author: jreitz
Created: 2011-10-13 20:53:04+00:00
State: open

When using reserve with timeout from multiple connections on the same tube, only the last one receives "TIMED_OUT". The other connections hang indefinitely. This is occurs with the trunk codebase.

More specifically:
- connection A watches tube 'foo' then issues a reserve-with-timeout N seconds
- connection B watches tube 'foo' within the N seconds period
- connection A is never issued a "TIMED_OUT" response

The issue seems to stem from the existing connection being removed from srv->conns when the most recent connection issues the watch foo command. I'm still digging into the code to understand why that is happening.