Hi,

At Thu, 17 May 2007 15:30:08 +0900,
Pete wrote in [ruby-talk:251886]:
> >>The idea of the ensure was to release the semaphore if the callback hadn't
> >> -- i.e. if break bypassed the yield.
> >
> >The ensure won't called until the callback released the
> >semaphore because doeach waits it.
> This was *not* what I observed.  I think what was happening was that
> 'break' was being invoked from another OS thread, so the ensure got run
> too.  (I had printf telltales everywhere to show me which bits were
> executing, and ensure got run even though doeach was still suspended.)
> Rather a mess, in other words...

Sorry, I misread.

-- 
Nobu Nakada