Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
contego / home / tvault / .virtenv / lib / python2.7 / site-packages / dogpile / util / readwrite_lock.pyc
Size: Mime:
ó
ëEYc@s[ddlmZddlZejeƒZdefd„ƒYZdefd„ƒYZ	dS(i(t	threadingiÿÿÿÿNt	LockErrorcBseZRS((t__name__t
__module__(((sP/home/tvault/.virtenv/lib/python2.7/site-packages/dogpile/util/readwrite_lock.pyRstReadWriteMutexcBsAeZdZd„Zed„Zd„Zed„Zd„ZRS(sÄA mutex which allows multiple readers, single writer.

    :class:`.ReadWriteMutex` uses a Python ``threading.Condition``
    to provide this functionality across threads within a process.

    The Beaker package also contained a file-lock based version
    of this concept, so that readers/writers could be synchronized
    across processes with a common filesystem.  A future Dogpile
    release may include this additional class at some point.

    cCs.d|_d|_tjtjƒƒ|_dS(Ni(tasynctNonetcurrent_sync_operationRt	ConditiontLockt	condition(tself((sP/home/tvault/.virtenv/lib/python2.7/site-packages/dogpile/util/readwrite_lock.pyt__init__s		cCsŽ|jjƒzb|r<x6|jdk	r8|jjƒqWn|jdk	rOtS|jd7_tjd|ƒWd|jj	ƒX|sŠt
SdS(sAcquire the 'read' lock.is%s acquired read lockN(R
tacquireRRtwaittFalseRtlogtdebugtreleasetTrue(RR((sP/home/tvault/.virtenv/lib/python2.7/site-packages/dogpile/util/readwrite_lock.pytacquire_read_lock"s
cCs”|jjƒzr|jd8_|jdkrP|jdk	rn|jjƒqnn|jdkrntdƒ‚ntjd|ƒWd|jj	ƒXdS(sRelease the 'read' lock.iis7Synchronizer error - too many release_read_locks calleds%s released read lockN(
R
R
RRRt	notifyAllRRRR(R((sP/home/tvault/.virtenv/lib/python2.7/site-packages/dogpile/util/readwrite_lock.pytrelease_read_lock8s
cCsÃ|jjƒz—|r<x6|jdk	r8|jjƒqWn|jdk	rOtStjƒ|_|jdkr“|rƒ|jjƒq“d|_tSnt	j
d|ƒWd|jjƒX|s¿tSdS(sAcquire the 'write' lock.is%s acquired write lockN(
R
R
RRRRRt
currentThreadRRRRR(RR((sP/home/tvault/.virtenv/lib/python2.7/site-packages/dogpile/util/readwrite_lock.pytacquire_write_lockLs"
	cCsp|jjƒzN|jtjƒk	r4tdƒ‚nd|_|jjƒtj	d|ƒWd|jj
ƒXdS(sRelease the 'write' lock.s?Synchronizer error - current thread doesn't have the write locks%s released write lockN(R
R
RRRRRRRRR(R((sP/home/tvault/.virtenv/lib/python2.7/site-packages/dogpile/util/readwrite_lock.pytrelease_write_lockrs
	
(	RRt__doc__RRRRRR(((sP/home/tvault/.virtenv/lib/python2.7/site-packages/dogpile/util/readwrite_lock.pyRs	
	&(
tcompatRtloggingt	getLoggerRRt	ExceptionRtobjectR(((sP/home/tvault/.virtenv/lib/python2.7/site-packages/dogpile/util/readwrite_lock.pyt<module>s