File: //usr/lib/python3/dist-packages/twisted/python/test/__pycache__/test_sendmsg.cpython-310.pyc
o
�b"( � @ s� d Z ddlZddlZddlZddlZddlmZmZmZmZ ddl m
Z
mZmZm
Z
m Z ddlmZ z
ddl mZmZ W n eyG dZY nw dZdd lmZ dd
lmZ ddlmZmZ ddlmZ dd
lmZ ddlm Z ddl!m"Z" ddl#m$Z$ e"�%� r�ddl m&Z& dZ'ndZ'zddl(m)Z)m*Z*m+Z+m,Z, W n
ey� dZ-dZ.Y nw dZ-dZ.G dd� d�Z/dd� Z0G dd� de1�Z2G dd� de�Z3dd� Z4ee-e.�G dd � d e$��Z5ee-e.�G d!d"� d"e$��Z6dS )#z&
Tests for L{twisted.python.sendmsg}.
� N)�close�pathsep�pipe�read)�AF_INET�AF_INET6�
SOL_SOCKET�error�socket)�pack)�AF_UNIX�
socketpairTF)�skipIf)�reactor)�Deferred�inlineCallbacks)�ProcessDone)�ProcessProtocol)�FilePath)�platform)�TestCase)�MSG_DONTWAIT)�
SCM_RIGHTS�getSocketFamily�recvmsg�sendmsgz!Platform doesn't support sendmsg.� c @ 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! r# r# r$ �fileno= s z_FDHolder.filenoc C s | j r
t| j � d| _ dS dS )zH
Close the FD. If it's already been closed, do nothing.
N)r r r&