GRAYBYTE WORDPRESS FILE MANAGER9785

Server IP : 162.254.39.133 / Your IP : 216.73.216.176
System : Linux premium287.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
PHP Version : 8.1.33
Disable Function : mail
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF

HOME

/lib64/python2.7/Demo/metaclasses/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /lib64/python2.7/Demo/metaclasses//Synch.pyc
�
��^c@s�dZddlZddd��YZd�ZddlmZmZmZdefd��YZd	efd
��YZ	defd��YZ
e
d
di�Zd�Ze
dkr�e�e�ndS(s`Synchronization metaclass.

This metaclass  makes it possible to declare synchronized methods.

i����NtLockcBs,eZdZd�Zdd�Zd�ZRS(s�Reentrant lock.

    This is a mutex-like object which can be acquired by the same
    thread more than once.  It keeps a reference count of the number
    of times it has been acquired by the same thread.  Each acquire()
    call must be matched by a release() call and only the last
    release() call actually releases the lock for acquisition by
    another thread.

    The implementation uses two locks internally:

    __mutex is a short term lock used to protect the instance variables
    __wait is the lock for which other threads wait

    A thread intending to acquire both locks should acquire __wait
    first.

   The implementation uses two other instance variables, protected by
   locking __mutex:

    __tid is the thread ID of the thread that currently has the lock
    __count is the number of times the current thread has acquired it

    When the lock is released, __tid is None and __count is zero.

    cCs4tj�|_tj�|_d|_d|_dS(s0Constructor.  Initialize all instance variables.iN(tthreadt
allocate_lockt_Lock__mutext_Lock__waittNonet
_Lock__tidt_Lock__count(tself((s./usr/lib64/python2.7/Demo/metaclasses/Synch.pyt__init__*s	icCs�|jj�z-|jtj�kr9|jd|_dSWd|jj�X|jj|�}|ro|rodSzW|jj�|jdks�t	�|jdks�t	�tj�|_d|_dSWd|jj�XdS(s}Acquire the lock.

        If the optional flag argument is false, returns immediately
        when it cannot acquire the __wait lock without blocking (it
        may still block for a little while in order to acquire the
        __mutex lock).

        The return value is only relevant when the flag argument is
        false; it is 1 if the lock is acquired, 0 if not.

        iNi(
RtacquireRRt	get_identRtreleaseRRtAssertionError(Rtflagtlocked((s./usr/lib64/python2.7/Demo/metaclasses/Synch.pyR
1s"

	cCs�|jj�zl|jtj�ks+t�|jdks@t�|jd|_|jdkrxd|_|jj	�nWd|jj	�XdS(s�Release the lock.

        If this thread doesn't currently have the lock, an assertion
        error is raised.

        Only allow another thread to acquire the lock when the count
        reaches zero after decrementing it.

        iiN(
RR
RRRR
RRRR(R((s./usr/lib64/python2.7/Demo/metaclasses/Synch.pyRQs

	(t__name__t
__module__t__doc__R	R
R(((s./usr/lib64/python2.7/Demo/metaclasses/Synch.pyR
s	 cCs�g}|d�}||d�}t�}|j�||�|j�|j�tj||f�tj|||f�tj||f�tj||f�|j�ddl}x.t|�dkr�t|�GH|jd�q�Wt|�GHdS(NcSs3|j�dtj�G|j�|jd�dS(Nsf2 running in thread %d
i(R
RRRtappend(tlocktdone((s./usr/lib64/python2.7/Demo/metaclasses/Synch.pytf2ks

cSsE|j�dtj�Gz||�Wd|j�X|jd�dS(Nsf1 running in thread %d
i(R
RRRR(RRR((s./usr/lib64/python2.7/Demo/metaclasses/Synch.pytf1qs
i����i	g����MbP?(RR
RRtstart_new_threadttimetlentsleep(RRRRR((s./usr/lib64/python2.7/Demo/metaclasses/Synch.pyt	_testLockgs$		




(t	MetaClasst
MetaHelpertMetaMethodWrappertLockingMethodWrappercBseZd�ZRS(cOs�|jd dkrC|jddkrCt|j|jf||�S|jjj�z!t|j|jf||�SWd|jjj�XdS(Nit_(Rtapplytfunctinstt__lock__R
R(Rtargstkw((s./usr/lib64/python2.7/Demo/metaclasses/Synch.pyt__call__�s&!(RRR((((s./usr/lib64/python2.7/Demo/metaclasses/Synch.pyR �st
LockingHelpercBseZeZd�ZRS(cCs tj||�t�|_dS(N(Rt__helperinit__RR%(Rtformalclass((s./usr/lib64/python2.7/Demo/metaclasses/Synch.pyR*�s(RRR t__methodwrapper__R*(((s./usr/lib64/python2.7/Demo/metaclasses/Synch.pyR)�stLockingMetaClasscBseZeZRS((RRR)t
__helper__(((s./usr/lib64/python2.7/Demo/metaclasses/Synch.pyR-�stLockingcCs�dtfd��Y}dd�}dd�}tj�}|j�tj�}|j�|d�}d}tj||||f�tj||||f�|j�dGH|j�dGHd	Gt|j�GHdS(
NtBuffercBs#eZd�Zd�Zd�ZRS(cSsB|dkst�||_dg|j|_d|_|_dS(Ni(R
tsizeRtbuffertfirsttlast(Rtinitialsize((s./usr/lib64/python2.7/Demo/metaclasses/Synch.pyR	�s	cSsI|jd|j|jkrH||j|j<|jd|j|_dSdG|jGHd|j|j|jfGH|j|jkr�|j|j|j!}n|j|j|j|j }dG|GH|dg|jd|_d|_|jd|_|jd|_dG|jGHdG|jGHd|j|j|jfGH|j|�dS(	Nisbuffer =s first = %d, last = %d, size = %dstemp =iisBuffer size doubled tosnew buffer =(R4R1R3R2Rtput(Rtitemttemp((s./usr/lib64/python2.7/Demo/metaclasses/Synch.pyR6�s(		cSsF|j|jkrt�n|j|j}|jd|j|_|S(Ni(R3R4tEOFErrorR2R1(RR7((s./usr/lib64/python2.7/Demo/metaclasses/Synch.pytget�s
	(RRR	R6R:(((s./usr/lib64/python2.7/Demo/metaclasses/Synch.pyR0�s		i�cSs`ddl}d}x0||krDdG|GH|j|�|d}qWdG|GdGH|j�dS(Ni����iR6isProducer: done producingtitems(RR6R(R2twaittnRti((s./usr/lib64/python2.7/Demo/metaclasses/Synch.pytproducer�s	

cSs�ddl}d}d}x�||kr�yK|j�}||krXtd||f�ndG|GH|d}d}Wqtk
r�|j|�|d}qXqWdG|Gd	GH|j�dS(
Ni����ig����MbP?sget() returned %s, expected %stgotiisConsumer: done consumingR;(RR:R
R9RR(R2R<R=RR>ttouttx((s./usr/lib64/python2.7/Demo/metaclasses/Synch.pytconsumer�s"	




is
Producer donesAll donesbuffer size ==(R/RRR
RRR2(R0R?RCtpwaittcwaitR2R=((s./usr/lib64/python2.7/Demo/metaclasses/Synch.pyt_test�s (




t__main__(((RRRRtMetaRRRR R)R-R/RFR(((s./usr/lib64/python2.7/Demo/metaclasses/Synch.pyt<module>sZ	+
	U

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
June 15 2024 10:33:33
root / root
0755
Eiffel.py
3.387 KB
April 19 2020 21:13:39
root / root
0644
Eiffel.pyc
4.523 KB
April 10 2024 04:58:46
root / root
0644
Eiffel.pyo
4.424 KB
April 10 2024 04:58:44
root / root
0644
Enum.py
4.315 KB
April 19 2020 21:13:39
root / root
0644
Enum.pyc
6.034 KB
April 10 2024 04:58:46
root / root
0644
Enum.pyo
6.034 KB
April 10 2024 04:58:46
root / root
0644
Meta.py
2.864 KB
April 19 2020 21:13:39
root / root
0644
Meta.pyc
4.472 KB
April 10 2024 04:58:46
root / root
0644
Meta.pyo
4.472 KB
April 10 2024 04:58:46
root / root
0644
Simple.py
1.164 KB
April 19 2020 21:13:39
root / root
0644
Simple.pyc
2.682 KB
April 10 2024 04:58:46
root / root
0644
Simple.pyo
2.682 KB
April 10 2024 04:58:46
root / root
0644
Synch.py
7.752 KB
April 19 2020 21:13:39
root / root
0644
Synch.pyc
8.264 KB
April 10 2024 04:58:46
root / root
0644
Synch.pyo
8.119 KB
April 10 2024 04:58:44
root / root
0644
Trace.py
4.036 KB
April 19 2020 21:13:39
root / root
0644
Trace.pyc
6.028 KB
April 10 2024 04:58:46
root / root
0644
Trace.pyo
6.028 KB
April 10 2024 04:58:46
root / root
0644
index.html
20.091 KB
April 19 2020 21:13:39
root / root
0644
meta-vladimir.txt
11.257 KB
April 19 2020 21:13:39
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF