[ Root System Explorer ]
Location:
Root
/
proc
/
thread-self
/
root
/
proc
/
thread-self
/
root
/
opt
/
gsutil
/
third_party
/
fasteners
/
fasteners
/
__pycache__
+ Folder
+ File
Upload
Editing: lock.cpython-39.pyc
a V�EVJ, � @ s� d dl Z d dlZd dlZd dlmZ d dlZzd dlZd dlmZ W n e y^ dZdZY n0 dd� Z dd� ZG dd � d e�Z ejd d� �Zdd � ZdS )� N)�_utils)�patcherc s8 � fdd�}� s| s|S t | �dkr0|| d �S |S dS )a< Acquires & releases a read lock around call into decorated method. NOTE(harlowja): if no attribute name is provided then by default the attribute named '_lock' is looked for (this attribute is expected to be a :py:class:`.ReaderWriterLock`) in the instance object this decorator is attached to. c s( �� dd�� t���� �fdd��}|S )N�lock�_lockc sL t | � �}|�� �& �| g|�R i |��W d � S 1 s>0 Y d S �N)�getattr� read_lock��self�args�kwargsZrw_lock�� attr_name�f� �3/opt/gsutil/third_party/fasteners/fasteners/lock.py�wrapper2 s z/read_locked.<locals>.decorator.<locals>.wrapper��get�six�wraps�r r �r r r � decorator/ s zread_locked.<locals>.decorator� r N��len�r r r r r r �read_locked&