HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/engines/__pycache__/__init__.cpython-310.pyc
o

�N�g�
�@sZdZddlZddlZddlZddlZddlZe�e�Zddd�Z	Gdd�dej
jj�Z
dS)z�
Initialize the engines system. This plugin system allows for
complex services to be encapsulated within the salt plugin environment
�Nc	Csdtjj||d�}|ddkrtjj||d�}ng}tjj|||d�}tjj|||||d�}|�dg�}t|t�rAdd�|�	�D�}tjj
��rMd	}d	}d	}|D]`}t|t�ratt
|�	���\}}	nd	}	d	}
|	d	urzd
|	vrzd�|	d
�}|}
|	d
=n|�d�}||vr�||}|
r�d
|j�d|
�d�}
nd
|j�d�}
t�d|
�|jt|||	|||f|
d�qOd	S)z)
    Fire up the configured engines!
    ��proxy�__role�master��utils�rr�enginescSsg|]\}}||i�qS�r
)�.0�k�vr
r
�I/opt/saltstack/salt/lib/python3.10/site-packages/salt/engines/__init__.py�
<listcomp>sz!start_engines.<locals>.<listcomp>NZ
engine_modulez{}.startz.startzEngine(z, name=�)zStarting %s)�args�name)�salt�loaderr�runner�minion_modsr	�get�
isinstance�dict�items�platform�spawning_platform�next�iter�format�
__module__�log�infoZadd_process�Engine)�optsZproc_mgrrr�runners�funcsr	Zengines_opt�engineZengine_optsZengine_name�funZ
start_funcrr
r
r�
start_enginessH


���r)cs(eZdZdZ�fdd�Zdd�Z�ZS)r#z3
    Execute the given engine in a new process
    cs:t�jdi|��||_||_||_||_||_||_dS)z-
        Set up the process executor
        Nr
)�super�__init__r$�configr(r&r%r)�selfr$r(r,r&r%r�kwargs��	__class__r
rr+Gs
zEngine.__init__cCs�tjj|j|jd�|_tjj��r4|jddkr$tjj|j|jd�|_ng|_tjj	|j|j|jd�|_
tjj|j|j
|j|j|jd�|_|j
pIi}z|j|jd
i|��Wd	Styktjd|jdd�Yd	Sw)z)
        Run the master service!
        rrrrrz%s could not be started!T)�exc_infoNr
)rrrr$rrrrr%rr&r	r'r,r(�	Exceptionr!�criticalr)r-r.r
r
r�runSs*��
��z
Engine.run)�__name__r �__qualname__�__doc__r+r4�
__classcell__r
r
r/rr#Bsr#)N)r7�loggingrZsalt.loaderZsalt.utils.platformZsalt.utils.process�	getLoggerr5r!r)r�processZSignalHandlingProcessr#r
r
r
r�<module>s

2