File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/__pycache__/nb_popen.cpython-310.pyc
Back
o ;j� � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddlZej dkZ e r?ddlZddlZddl mZmZ ddlmZ e�e�ZG dd� dej�ZdS )a :codeauthor: Pedro Algarvio (pedro@algarvio.me) salt.utils.nb_popen ~~~~~~~~~~~~~~~~~~~ Non blocking subprocess Popen. This functionality has been adapted to work on windows following the recipe found on: http://code.activestate.com/recipes/440554/ � N�win32)�ReadFile� WriteFile)� PeekNamedPipec s� e Zd ZdZdZ� fdd�Zddd�Zddd �Zddd�Zd d� Z dd� Z er0dd� Zdd� Z ndd� Zdd� Z ddd�Zd� fdd� Z� ZS )�NonBlockingPopenz$salt.utils.nb_popen.STDOUT.PID-{pid}z$salt.utils.nb_popen.STDERR.PID-{pid}c s� |� dd�| _|� dd�| _|� d| j�| _|� d| j�| _|� dd �}|�dd �}t� j|i |�� t� | j�| _ t�| jj | jd ��| _|tju rT| j | _| j| _nt� | j�| _t�| jj | jd ��| _t�d | j|d u ru|� d S |� d S )N�stream_stdsF�max_size_in_memi � Zstdout_logger_nameZstderr_logger_name�logging_command�stderr)�pidz"Running command under pid %s: '%s')�popr r �_stdout_logger_name_�_stderr_logger_name_�get�super�__init__�tempfileZSpooledTemporaryFile�stdout_buff�logging� getLogger�formatr Z_stdout_logger� subprocess�STDOUT�stderr_buffZ_stderr_logger�log�info)�self�args�kwargsr r �� __class__� �G/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/nb_popen.pyr + s: ��� � ��zNonBlockingPopen.__init__Nc C � | � d|�S )N�stdout��_recv�r �maxsizer! r! r"