add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
3

�
�^�c@s�ddlZddlZddlmZmZejs.ed��ddlmZddlm	Z	ddlm
Z
ddlmZd	gZGd
d�de
�ZGdd	�d	e	j�ZdS)
�N�)�	reduction�set_spawning_popenz,No support for sending fds between processes)�
forkserver)�
popen_fork)�spawn)�util�Popenc@seZdZdd�Zdd�ZdS)�_DupFdcCs
||_dS�N)�ind)�selfr�r
�8/usr/lib64/python3.6/multiprocessing/popen_forkserver.py�__init__�z_DupFd.__init__cCstj�|jSr
)rZget_inherited_fdsr)rr
r
r�detachrz
_DupFd.detachN)�__name__�
__module__�__qualname__rrr
r
r
rr	sr	csBeZdZdZeZ�fdd�Zdd�Zdd�Ze	j
fdd	�Z�ZS)
rrcsg|_t�j|�dSr
)�_fdsZsuperr)r�process_obj�Z	__class__r
rr!szPopen.__init__cCs|jj|�t|j�dS)Nr)rZappendZlen)rZfdr
r
r�duplicate_for_child%szPopen.duplicate_for_childcCs�tj|j�}tj�}t|�ztj||�tj||�Wdtd�Xtj	|j
�\|_}tj
|tj|jf�t|ddd��}|j|j��WdQRXtj|j�|_dS)NZwbT)Zclosefd)rZget_preparation_dataZ_name�ioZBytesIOrrZdumprZconnect_to_new_processr�sentinelrZFinalize�osZcloseZopenZwriteZ	getbuffer�
read_unsignedZpid)rrZ	prep_dataZbufZwZfr
r
r�_launch)s
z
Popen._launchcCsr|jdkrlddlm}|tjkr$dnd}||jg|�s:dSytj|j�|_Wntt	fk
rjd|_YnX|jS)Nr)�waiti�)
Z
returncodeZmultiprocessing.connectionrr�WNOHANGrrrZOSErrorZEOFError)rZflagrZtimeoutr
r
r�poll9s
z
Popen.poll)
rrrZmethodr	ZDupFdrrrrrr Z
__classcell__r
r
rrrs)rrZcontextrrZHAVE_SEND_HANDLEZImportErrorZrrrrZ__all__Zobjectr	rr
r
r
rZ<module>s