£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

f%  c               @   s  d  d d d g Z  d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l m Z d d l	 m
 Z
 m Z m Z d d l	 m Z m Z e j d	 k p e e d
  o e e d  s e d   n  e j d	 k re  d g 7Z  d d l Z d d   Z d d   Z Gd d   d e  Z Gd d   d e  Z d d    Z d d   Z d d   Z d d   Z d d   Z d d   Z nm e j d k Z d d   Z d d   Z Gd  d!   d! e  Z d" d    Z d# d   Z d$ d   Z d% d   Z Gd& d'   d' e  Z  e    Z! d S((   u   reduce_socketu   reduce_connectionu   send_handleu   recv_handlei    N(   u   current_process(   u   register_after_forku   debugu	   sub_debug(   u
   is_exitingu   sub_warningu   win32u   CMSG_LENu
   SCM_RIGHTSu%   pickling of connections not supportedu   reduce_pipe_connectionc             C   s&   t  | t j |  } |  j |  d  S(   N(   u	   DupHandleu   _winapiu   DUPLICATE_SAME_ACCESSu   send(   u   connu   handleu   destination_pidu   dh(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   send_handle*   s    c             C   s   |  j    j   S(   N(   u   recvu   detach(   u   conn(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   recv_handle.   s    c             B   s/   |  Ee  Z d  Z d d d  Z d d   Z d S(   u	   DupHandlec             C   s   | d  k r t j   } n  t j t j d |  } z+ t j t j   | | | d d  |  _	 Wd  t j
 |  X| |  _ | |  _ d  S(   Ni    F(   u   Noneu   osu   getpidu   _winapiu   OpenProcessu   PROCESS_DUP_HANDLEu   Falseu   DuplicateHandleu   GetCurrentProcessu   _handleu   CloseHandleu   _accessu   _pid(   u   selfu   handleu   accessu   pidu   proc(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   __init__2   s    		u   DupHandle.__init__c             C   s{   |  j  t j   k r |  j St j t j d |  j   } z/ t j | |  j t j	   |  j
 d t j  SWd  t j |  Xd  S(   NF(   u   _pidu   osu   getpidu   _handleu   _winapiu   OpenProcessu   PROCESS_DUP_HANDLEu   Falseu   DuplicateHandleu   GetCurrentProcessu   _accessu   DUPLICATE_CLOSE_SOURCEu   CloseHandle(   u   selfu   proc(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   detach@   s    u   DupHandle.detachN(   u   __name__u
   __module__u   __qualname__u   Noneu   __init__u   detach(   u
   __locals__(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu	   DupHandle1   s   u	   DupHandlec             B   s,   |  Ee  Z d  Z d d   Z d d   Z d S(   u	   DupSocketc                s:   | j        f d d   } t j |   j  |  _ d  S(   Nc                s      j  |  } |  j |  d  S(   N(   u   shareu
   send_bytes(   u   connu   pidu   share(   u   new_sock(    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   sendP   s    u    DupSocket.__init__.<locals>.send(   u   dupu   resource_shareru   registeru   closeu   _id(   u   selfu   socku   send(    (   u   new_socku>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   __init__N   s    u   DupSocket.__init__c          
   C   sA   t  j |  j  } z | j   } t j |  SWd  | j   Xd  S(   N(   u   resource_shareru   get_connectionu   _idu
   recv_bytesu   socketu	   fromshareu   close(   u   selfu   connu   share(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   detachU   s
    u   DupSocket.detachN(   u   __name__u
   __module__u   __qualname__u   __init__u   detach(   u
   __locals__(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu	   DupSocketM   s   u	   DupSocketc             C   s   t  t |   f f S(   N(   u   rebuild_socketu	   DupSocket(   u   s(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   reduce_socket]   s    c             C   s
   |  j    S(   N(   u   detach(   u   ds(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   rebuild_socket`   s    u   rebuild_socketc             C   sY   |  j    } t j | t j t j  , } t |  } t | |  j |  j f f SWd  QXd  S(   N(	   u   filenou   socketu   fromfdu   AF_INETu   SOCK_STREAMu	   DupSocketu   rebuild_connectionu   readableu   writable(   u   connu   handleu   su   ds(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   reduce_connectionc   s    c             C   s2   d d l  m } |  j   } | | j   | |  S(   Ni   (   u
   Connection(   u
   connectionu
   Connectionu   detach(   u   dsu   readableu   writableu
   Connectionu   sock(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   rebuild_connectioni   s    u   rebuild_connectionc             C   s\   |  j  r t j n d |  j r' t j n d B} t |  j   |  } t | |  j  |  j f f S(   Ni    (   u   readableu   _winapiu   FILE_GENERIC_READu   writableu   FILE_GENERIC_WRITEu	   DupHandleu   filenou   rebuild_pipe_connection(   u   connu   accessu   dh(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   reduce_pipe_connectionn   s    c             C   s,   d d l  m } |  j   } | | | |  S(   Ni   (   u   PipeConnection(   u
   connectionu   PipeConnectionu   detach(   u   dhu   readableu   writableu   PipeConnectionu   handle(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   rebuild_pipe_connectiont   s    u   rebuild_pipe_connectionu   darwinc             C   s   t  j |  j   t  j t  j  8 } | j d g t  j t  j t j	 d |  f g  Wd  QXt
 r |  j   d k r t d   n  d  S(   Ns   xu   @is   ACKu%   did not receive acknowledgement of fd(   u   socketu   fromfdu   filenou   AF_UNIXu   SOCK_STREAMu   sendmsgu
   SOL_SOCKETu
   SCM_RIGHTSu   structu   packu   ACKNOWLEDGEu
   recv_bytesu   RuntimeError(   u   connu   handleu   destination_pidu   s(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   send_handle   s
    $c       
      C   s   t  j d  } t j |  j   t j t j   } | j d t j |   \ } } } } yi t	 rs |  j
 d  n  | d \ } } }	 | t j k r | t j k r t  j d |	 d  |   d SWn t t t  j f k
 r Yn Xt d   Wd  QXd  S(   Nu   @ii   s   ACKi    u   Invalid data received(   u   structu   calcsizeu   socketu   fromfdu   filenou   AF_UNIXu   SOCK_STREAMu   recvmsgu   CMSG_LENu   ACKNOWLEDGEu
   send_bytesu
   SOL_SOCKETu
   SCM_RIGHTSu   unpacku
   ValueErroru
   IndexErroru   erroru   RuntimeError(
   u   connu   sizeu   su   msgu   ancdatau   flagsu   addru
   cmsg_levelu	   cmsg_typeu	   cmsg_data(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   recv_handle   s    $'"c             B   s,   |  Ee  Z d  Z d d   Z d d   Z d S(   u   DupFdc                sL   t  j |      f d d   }   f d d   } t j | |  |  _ d  S(   Nc                s   t  |    |  d  S(   N(   u   send_handle(   u   connu   pid(   u   new_fd(    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   send   s    u   DupFd.__init__.<locals>.sendc                  s   t  j    d  S(   N(   u   osu   close(    (   u   new_fd(    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   close   s    u   DupFd.__init__.<locals>.close(   u   osu   dupu   resource_shareru   registeru   _id(   u   selfu   fdu   sendu   close(    (   u   new_fdu>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   __init__   s    u   DupFd.__init__c          
   C   s2   t  j |  j  } z t |  SWd  | j   Xd  S(   N(   u   resource_shareru   get_connectionu   _idu   recv_handleu   close(   u   selfu   conn(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   detach   s    u   DupFd.detachN(   u   __name__u
   __module__u   __qualname__u   __init__u   detach(   u
   __locals__(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   DupFd   s   u   DupFdc             C   s1   t  |  j    } t | |  j |  j |  j f f S(   N(   u   DupFdu   filenou   rebuild_socketu   familyu   typeu   proto(   u   su   df(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   reduce_socket   s    c             C   s5   |  j    } t j | | | |  } t j |  | S(   N(   u   detachu   socketu   fromfdu   osu   close(   u   dfu   familyu   typeu   protou   fdu   s(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   rebuild_socket   s    c             C   s+   t  |  j    } t | |  j |  j f f S(   N(   u   DupFdu   filenou   rebuild_connectionu   readableu   writable(   u   connu   df(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   reduce_connection   s    c             C   s,   d d l  m } |  j   } | | | |  S(   Ni   (   u
   Connection(   u
   connectionu
   Connectionu   detach(   u   dfu   readableu   writableu
   Connectionu   fd(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   rebuild_connection   s    c             B   sq   |  Ee  Z d  Z d d   Z d d   Z e d d    Z d d d  Z d	 d
   Z	 d d   Z
 d d   Z d S(   u   ResourceSharerc             C   sY   d |  _  i  |  _ g  |  _ t j   |  _ d  |  _ d  |  _ d  |  _	 t
 |  t j  d  S(   Ni    (   u   _keyu   _cacheu
   _old_locksu	   threadingu   Locku   _locku   Noneu	   _listeneru   _addressu   _threadu   register_after_forku   ResourceShareru
   _afterfork(   u   self(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   __init__   s    						u   ResourceSharer.__init__c          
   C   se   |  j  V |  j d  k r& |  j   n  |  j d 7_ | | f |  j |  j <|  j |  j f SWd  QXd  S(   Ni   (   u   _locku   _addressu   Noneu   _startu   _keyu   _cache(   u   selfu   sendu   close(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   register   s    
u   ResourceSharer.registerc             C   sQ   d d l  m } |  \ } } | | d t   j } | j | t j   f  | S(   Ni   (   u   Clientu   authkey(   u
   connectionu   Clientu   current_processu   authkeyu   sendu   osu   getpid(   u   identu   Clientu   addressu   keyu   c(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   get_connection   s
    u   ResourceSharer.get_connectionc             C   s   d d l  m } |  j  |  j d  k	 r | |  j d t   j } | j d   | j   |  j	 j
 |  |  j	 j   r t d  n  |  j j   d  |  _	 d  |  _ d  |  _ x* |  j j   D] \ } \ } } |   q W|  j j   n  Wd  QXd  S(   Ni   (   u   Clientu   authkeyu-   ResourceSharer thread did not stop when asked(   u
   connectionu   Clientu   _locku   _addressu   Noneu   current_processu   authkeyu   sendu   closeu   _threadu   joinu   is_aliveu   sub_warnu	   _listeneru   _cacheu   itemsu   clear(   u   selfu   timeoutu   Clientu   cu   keyu   sendu   close(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   stop   s     

			"u   ResourceSharer.stopc             C   s   x* |  j  j   D] \ } \ } } |   q W|  j  j   |  j j |  j  t j   |  _ |  j d  k	 r{ |  j j
   n  d  |  _ d  |  _ d  |  _ d  S(   N(   u   _cacheu   itemsu   clearu
   _old_locksu   appendu   _locku	   threadingu   Locku	   _listeneru   Noneu   closeu   _addressu   _thread(   u   selfu   keyu   sendu   close(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu
   _afterfork   s    "		u   ResourceSharer._afterforkc             C   sv   d d l  m } t d  | d t   j  |  _ |  j j |  _ t j	 d |  j
  } d | _ | j   | |  _ d  S(   Ni   (   u   Listeneru0   starting listener and thread for sending handlesu   authkeyu   targetT(   u
   connectionu   Listeneru   debugu   current_processu   authkeyu	   _listeneru   addressu   _addressu	   threadingu   Threadu   _serveu   Trueu   daemonu   startu   _thread(   u   selfu   Listeneru   t(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   _start   s    
	
u   ResourceSharer._startc          
   C   s   t  t d  r1 t j t j t d t j   n  x yq |  j j   } | j   } | d  k rb Pn  | \ } } |  j
 j |  \ } } | | |  |   | j   Wq4 t   s d d  l } t d d d d | j   d d  n  Yq4 Xq4 d  S(   Nu   pthread_sigmaski   i    u.   thread for sharing handles raised exception :
u   -iO   u   
(   u   hasattru   signalu   pthread_sigmasku	   SIG_BLOCKu   rangeu   NSIGu	   _listeneru   acceptu   recvu   Noneu   _cacheu   popu   closeu
   is_exitingu	   tracebacku   sub_warningu
   format_exc(   u   selfu   connu   msgu   keyu   destination_pidu   sendu   closeu	   traceback(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   _serve  s$    "	u   ResourceSharer._serveN(   u   __name__u
   __module__u   __qualname__u   __init__u   registeru   staticmethodu   get_connectionu   Noneu   stopu
   _afterforku   _startu   _serve(   u
   __locals__(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   ResourceSharer   s   
u   ResourceSharer("   u   __all__u   osu   sysu   socketu	   threadingu   structu   signalu   multiprocessingu   current_processu   multiprocessing.utilu   register_after_forku   debugu	   sub_debugu
   is_exitingu   sub_warningu   platformu   hasattru   ImportErroru   _winapiu   send_handleu   recv_handleu   objectu	   DupHandleu	   DupSocketu   reduce_socketu   rebuild_socketu   reduce_connectionu   rebuild_connectionu   reduce_pipe_connectionu   rebuild_pipe_connectionu   ACKNOWLEDGEu   DupFdu   ResourceShareru   resource_sharer(    (    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   <module>   sF   		\