|
Server : Apache System : Linux cvar2.toservers.com 3.10.0-962.3.2.lve1.5.73.el7.x86_64 #1 SMP Wed Aug 24 21:31:23 UTC 2022 x86_64 User : njnconst ( 1116) PHP Version : 8.4.18 Disable Function : NONE Directory : /usr/lib64/python2.7/site-packages/django/utils/ |
Upload File : |
�
r�\c @ s\ d Z d d l Z y d d l Z Wn e k
rA d d l Z n Xd e f d � � YZ d S( s
Synchronization primitives:
- reader-writer lock (preference to writers)
(Contributed to Django by eugene@lazutkin.com)
i����Nt RWLockc B s_ e Z d Z d � Z d � Z d � Z e j d � � Z d � Z d � Z
e j d � � Z RS( s(
Classic implementation of reader-writer lock with preference to writers.
Readers can access a resource simultaneously.
Writers get an exclusive access.
API is self-descriptive:
reader_enters()
reader_leaves()
writer_enters()
writer_leaves()
c C s[ t j � | _ t j d � | _ t j d � | _ d | _ d | _ d | _ d | _ d S( Ni (
t threadingt RLockt mutext Semaphoret can_readt can_writet active_readerst active_writerst waiting_readerst waiting_writers( t self( ( s4 /tmp/pip-install-XxeQeY/django/django/utils/synch.pyt __init__ s c C sm | j �Q | j d k rG | j d k rG | j d 7_ | j j � n | j d 7_ Wd QX| j j � d S( Ni i ( R R R
R R t releaseR t acquire( R ( ( s4 /tmp/pip-install-XxeQeY/django/django/utils/synch.pyt
reader_enters&