Submit
Path:
~
/
/
proc
/
thread-self
/
root
/
opt
/
alt
/
python35
/
lib64
/
python3.5
/
site-packages
/
scipy
/
_lib
/
__pycache__
/
File Content:
_threadsafety.cpython-35.pyc
DB�W� � @ s� d d l m Z m Z m Z d d l Z d d l Z d d d g Z Gd d � d e � Z Gd d � d e � Z d d d � Z d S) � )�division�print_function�absolute_importN�ReentrancyError�ReentrancyLock� non_reentrantc @ s e Z d Z d S)r N)�__name__� __module__�__qualname__� r r �/_threadsafety.pyr s c @ sF e Z d Z d Z d d � Z d d � Z d d � Z d d � Z d S)r a! Threading lock that raises an exception for reentrant calls. Calls from different threads are serialized, and nested calls from the same thread result to an error. The object can be used as a context manager, or to decorate functions via the decorate() method. c C s% t j � | _ d | _ | | _ d S)NF)� threading�RLock�_rlock�_entered�_err_msg)�self�err_msgr r r �__init__ s zReentrancyLock.__init__c C s? | j j � | j r2 | j j � t | j � � d | _ d S)NT)r �acquirer �releaser r )r r r r � __enter__ s zReentrancyLock.__enter__c C s d | _ | j j � d S)NF)r r r )r �type�value� tracebackr r r �__exit__'