On Sep 26, 2005, at 4:21 PM, Scott David Daniels wrote:
> Unnecessarily holding a lock while acquiring another can be a nasty
> source of deadlock or at least delay.  Another source of problems is
> holding a lock because an exception skipped past the release code.

I had thought of part of that after I sent my email. Didn't think of 
the exception issue or the specific deadlock scenario though.  Thank 
you much for your help/advice.

One issue remains in this function: my method's signature is lost when 
synchronized is applied (at least as somemeth=synchronized(somemeth); 
I'm currently in a 2.3 environment that doesn't have the decorator 
syntax, but my understanding is that makes no difference). I've been 
able to preserve the doc string by setting the __doc__ attribute of the 
inner function before returning it, but is there a way to make this 
inner function appear to bear the same argument list as the original 
method? I've been poking around in new and inspect, but it is not 
appearing like an easy task.

Thanks,
- Michael

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to