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.
----------