> > We jump to the fail without releasing the lock. > > Instead of a "fail", how about just breaking from the loop > > and falling through to release lock and return... > > Sure. That should work too. Thanks. Also, you would have to make sure pol is set to NULL in this case.