File: //usr/lib/python3/dist-packages/twisted/internet/__pycache__/process.cpython-38.pyc
U
��W[� � @ s d Z ddlmZmZmZ ddlmZ e�� r4ed��ddl Z ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZzddlZW n ek
r� dZY nX zddlZddlZW n ek
r� dZY nX ddlmZ ddlmZmZ ddlmZ dd lmZmZmZ dd
l m!Z!m"Z"m#Z# ddl$m%Z%m&Z& ddl'm(Z( dd
l)m*Z* e#j+Z+i Z,dd� Z-dd� Z.dd� Z/dd� Z0e0� Z1G dd� de"j2�Z3G dd� de"j2�Z4G dd� de(e5�Z6G dd� de5�Z7e7� Z8dd� Z9ee*�G d d!� d!e6��Z:ee*�G d"d#� d#e"j2e6��Z;dS )$z�
UNIX Process management.
Do NOT use this module directly - use reactor.spawnProcess() instead.
Maintainer: Itamar Shtull-Trauring
� )�division�absolute_import�print_function)�platformz^twisted.internet.process does not work on Windows. Use the reactor.spawnProcess() API instead.N)�implementer)�log�failure)� switchUID)�items�range�_PY3)�fdesc�abstract�error)�CONNECTION_LOST�CONNECTION_DONE)�BaseProcess)�IProcessTransportc C s t t�� �D ]} | �� qdS )z(
Reap all registered processes.
N)�list�reapProcessHandlers�values�reapProcess)�process� r �:/usr/lib/python3/dist-packages/twisted/internet/process.py�reapAllProcesses9 s r c C sj | t krtd��zt�| tj�\}}W n& t�d| � t�� d}Y nX |r^|�|� n|t | <