File: //usr/lib/python3/dist-packages/twisted/python/test/__pycache__/test_sendmsg.cpython-38.pyc
U
W[�b � @ sV d Z ddlZddlZddlZddlmZmZmZmZm Z ddl
mZ ddlm
Z
mZmZmZmZ zddlmZmZ W n ek
r� dZY nX dZddlmZ dd lmZmZ dd
lmZ ddlmZ ddlmZm Z m!Z! dd
l"m#Z# ddl$m%Z% ddl&m'Z' e%�(� �rddlm)Z) dZ*ndZ*z$ddl+m,Z,m-Z- ddl+m.Z.m/Z/ W n ek
�r\ dZ0Y nX dZ0z ddl+m1Z1m2Z2 ddl+m3Z3 W n ek
�r� dZ4Y nX dZ4G dd� de5�Z6dd� Z7G dd� de8�Z9G dd� de�Z:d d!� Z;G d"d#� d#e<�Z=G d$d%� d%e<�Z>G d&d'� d'e'�Z?G d(d)� d)e'�Z@G d*d+� d+e'�ZAG d,d-� d-e'�ZBG d.d/� d/e'�ZCdS )0z&
Tests for L{twisted.python.sendmsg}.
� N)�devnull�pipe�read�close�pathsep)�pack)�
SOL_SOCKET�AF_INET�AF_INET6�socket�error)�AF_UNIX�
socketpairz)Platform does not support AF_UNIX sockets)�reactor)�Deferred�inlineCallbacks)�ProcessDone)�ProcessProtocol)�_PY3�
intToBytes�bytesEnviron)�FilePath)�platform)�TestCase)�MSG_DONTWAITz7MSG_DONTWAIT is only known to work as intended on Linux)�sendmsg�recvmsg)�
SCM_RIGHTS�getSocketFamilyz!Platform doesn't support sendmsg.)�send1msg�recv1msg)�
getsockfamz$Cannot import twisted.python.sendmsgc @ s@ e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
d� Zdd
� Z dS )� _FDHolderzP
A wrapper around a FD that will remember if it has been closed or not.
c C s
|| _ d S �N��_fd)�self�fd� r( �B/usr/lib/python3/dist-packages/twisted/python/test/test_sendmsg.py�__init__@ s z_FDHolder.__init__c C s | j S )z/
Return the fileno of this FD.
r$ �r&