Ñò ñUuLc@siddkZddkZddkZdgZd„Zdeifd„ƒYZdefd„ƒYZdS(iÿÿÿÿNtNRLockcOs t||ŽS(N(t_NRLock(targstkwargs((s0/usr/lib/python2.6/vendor-packages/pkg/nrlock.pyR sRcBsGeZdZdd„Zdd„Zed„ƒZd„Zd„Z RS(s¥Interface and implementation for Non-Reentrant locks. Derived from RLocks (which are reentrant locks). The default Python base locking type, threading.Lock(), is non-reentrant but it doesn't support any operations other than aquire() and release(), and we'd like to be able to support things like RLocks._is_owned() so that we can "assert" lock ownership assumptions in our code.cCstii||ƒdS(N(t threadingt_RLockt__init__(tselftverbose((s0/usr/lib/python2.6/vendor-packages/pkg/nrlock.pyR+sicCs0|iƒotdƒ‚ntii||ƒS(NsRecursive NRLock acquire(t _is_ownedtNRLockExceptionRRtacquire(Rtblocking((s0/usr/lib/python2.6/vendor-packages/pkg/nrlock.pyR .s cCs |iƒS(s:A boolean indicating whether the lock is currently locked.(R (R((s0/usr/lib/python2.6/vendor-packages/pkg/nrlock.pytlocked3sc CsÊd}|i}|p|Sx¨tiƒiƒD]”\}}||ijoq.n|d7}xcti|ƒD]R\}}}}|d|||f7}|o|d|iƒ7}n|d7}qkWPq.W|S(NtsStack of owner: s File: "%s", line %d,in %ss %ss (t _RLock__ownertsyst_current_framestitemstidentt tracebackt extract_stacktstrip( Rterrbuftownerttidtstacktfilenmtlnotfuncttxt((s0/usr/lib/python2.6/vendor-packages/pkg/nrlock.pyt_debug_lock_release8s&    cCsPytii|ƒWn5tj o)d}||iƒ7}t|ƒ‚nXdS(NsRelease of unacquired lock (RRtreleaset RuntimeErrorRR (RR((s0/usr/lib/python2.6/vendor-packages/pkg/nrlock.pyR Ns N( t__name__t __module__t__doc__tNoneRR tpropertyR RR (((s0/usr/lib/python2.6/vendor-packages/pkg/nrlock.pyR#s    R cBseZd„Zd„ZRS(cOs.|o|d|_n d|_||_dS(Ni(tdataR%t_args(RRR((s0/usr/lib/python2.6/vendor-packages/pkg/nrlock.pyRXs cCs t|iƒS(N(tstrR'(R((s0/usr/lib/python2.6/vendor-packages/pkg/nrlock.pyt__str___s(R"R#RR*(((s0/usr/lib/python2.6/vendor-packages/pkg/nrlock.pyR Vs ( RRRt__all__RRRt ExceptionR (((s0/usr/lib/python2.6/vendor-packages/pkg/nrlock.pyts     3