class_docstr: 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.
class_docstr_tok: ["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","."]
code: def __exit__(self, type, value, traceback):
      self._entered = False
      self._rlock.release()
  
file_path: catboost/contrib/python/scipy/py2/scipy/_lib/_threadsafety.py
imports: from __future__ import division, print_function, absolute_import
  import threading
  import scipy._lib.decorator
label_desc: Use image node_id 3 for calling the ReentrancyLock obj's underlying member method code with example usage: obj.__exit__(type, value, traceback) without return types