mς TγΈEc@sΥdkZdkZdkZeidƒZy dkZWnbej oVydklZ dkl Z Wnej od„Z nXd„Z d„Z n$XeieiBZd„Z d„Z d fd „ƒYZdS( NsZODB.lock_file(sLockFile(s UnlockFilecCstidƒdS(Ns(No file-locking support on this platform(tloggertinfo(tfile((t-/data/zmath/zope/lib/python/ZODB/lock_file.pyt lock_filescCs t|iƒddddƒdS(Nii(t _LockFileRtfileno(R((RRscCs t|iƒddddƒdS(Nii(t _UnlockFileRR(R((Rt unlock_file#scCsti|iƒtƒdS(N(tfcntltflockRRt_flags(R((RR)scCsdS(N((R((RR,stLockFilecBstZd„Zd„ZRS(NcCs΅||_yt|dƒ|_WnAtj o5}|itijo‚nt|dƒ|_nXyt |iƒWnt i d|ƒ‚nX|it i ƒIJ|iiƒdS(Nsr+sw+sError locking file %s(tpathtselft_pathtopent_fptIOErrorteterrnotENOENTRRt exceptiontostgetpidtflush(RR R((Rt__init__6s cCsK|idj o7t|iƒ|iiƒti|iƒd|_ndS(N(RRtNoneRtcloseRtunlinkR(R((RRFs   (t__name__t __module__RR(((RR 5s (RRtloggingt getLoggerRR t ImportErrortwinlockR Rt UnlockFileRRRtLOCK_EXtLOCK_NBR ( R RR RRRRRR RR ((Rt?s"