Hey Jesse,

It was good meeting you at Pycon.  I don't have anything handy at the moment although, if memory serves, the most trivial of example seemed to illustrate the problem.  Basically any situation where a joinable queue would keep bumping up against being empty (ie retiring items faster than they are being fed), and does enough work between get() and task_done() to be preempted would eventually break.  FWIW I was running on a Windows box.

I am afraid I am away from my computer until late tonight but I can try to cook something up then (I presume you are sprinting today?).  Also I think the issue becomes clear when you think about what happens if joinablequeue.task_done() gets preempted between its few lines.

-brian

On Mon, Mar 30, 2009 at 2:55 PM, Jesse Noller <report@bugs.python.org> wrote:

Jesse Noller <jnoller@gmail.com> added the comment:

Hi Brian - do you have a chunk of code that exacerbates this? I'm having
problems reproducing this, and need a test so I can prove out the fix.

----------

_______________________________________
Python tracker <report@bugs.python.org>
<http://bugs.python.org/issue4660>
_______________________________________