ó
«F\c           @   sY   d  d l  Z  d  d l m Z d  d l m Z e  j d e d d ƒd d	 d „  ƒ  YZ	 d S(
   iÿÿÿÿN(   t   RLock(   t   SSLs/   OpenSSL.tsafe is deprecated and will be removedt
   stackleveli   t
   Connectionc        !   B   s4   e  Z d  „  Z x  d$ D] Z d" e e f d# Uq WRS(%   c         G   s"   t  j | Œ  |  _ t ƒ  |  _ d  S(   N(   t   _sslR   t	   _ssl_connt   _RLockt   _lock(   t   selft   args(    (    s,   lib/python2.7/site-packages/OpenSSL/tsafe.pyt   __init__   s    t   get_contextt   pendingt   sendt   writet   recvt   readt   renegotiatet   bindt   listent   connectt   acceptt   setblockingt   filenot   shutdownt   closet   get_cipher_listt   getpeernamet   getsocknamet
   getsockoptt
   setsockoptt   makefilet   get_app_datat   set_app_datat   state_stringt   sock_shutdownt   get_peer_certificatet   get_peer_cert_chaint	   want_readt
   want_writet   set_connect_statet   set_accept_statet
   connect_ext   sendalls±   def %s(self, *args):
            self._lock.acquire()
            try:
                return self._ssl_conn.%s(*args)
            finally:
                self._lock.release()
N(!   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R    R!   R"   R#   R$   R%   R&   R'   R(   R)   R*   R+   (   t   __name__t
   __module__R
   t   f(    (    (    s,   lib/python2.7/site-packages/OpenSSL/tsafe.pyR      s   	      
(    (
   t   warningst	   threadingR    R   t   OpenSSLR   R   t   warnt   DeprecationWarningR   (    (    (    s,   lib/python2.7/site-packages/OpenSSL/tsafe.pyt   <module>   s   