uawdijnntqw1x1x1
IP : 18.118.226.2
Hostname : ns1.eurodns.top
Kernel : Linux ns1.eurodns.top 4.18.0-553.5.1.lve.1.el7h.x86_64 #1 SMP Fri Jun 14 14:24:52 UTC 2024 x86_64
Disable Function : mail,sendmail,exec,passthru,shell_exec,system,popen,curl_multi_exec,show_source,eval,open_base
OS : Linux
PATH:
/
home
/
..
/
lib
/
python2.7
/
site-packages
/
rhn
/
..
/
pycriu
/
criu.pyo
/
/
� k�x]c@s�ddlZddlZddlZddlZddlZddljZddd��YZdefd��YZ defd��YZ defd ��YZd efd��YZ de fd ��YZde fd��YZddd��YZdS(i����Nt _criu_commcBsDeZdZdZdZdZdZdZdZ d�Z d�ZRS(s/ Base class for communication classes. iiicCsdS(s� Connect to criu and return socket object. daemon -- is for whether or not criu should daemonize if executing criu from binary(comm_bin). N((tselftdaemon((s//usr/lib/python2.7/site-packages/pycriu/criu.pytconnectscCsdS(s' Disconnect from criu. N((R((s//usr/lib/python2.7/site-packages/pycriu/criu.pyt disconnectsN(t__name__t __module__t__doc__tCOMM_SKtCOMM_FDtCOMM_BINtNonet comm_typetcommtskRR(((s//usr/lib/python2.7/site-packages/pycriu/criu.pyRs t _criu_comm_skcBs)eZdZd�Zd�Zd�ZRS(s. Communication class for unix socket. cCs|j|_||_dS(N(RRR (Rtsk_path((s//usr/lib/python2.7/site-packages/pycriu/criu.pyt__init__*scCs5tjtjtj�|_|jj|j�|jS(N(tsockettAF_UNIXtSOCK_SEQPACKETRRR (RR((s//usr/lib/python2.7/site-packages/pycriu/criu.pyR.scCs|jj�dS(N(Rtclose(R((s//usr/lib/python2.7/site-packages/pycriu/criu.pyR4s(RRRRRR(((s//usr/lib/python2.7/site-packages/pycriu/criu.pyR%s t _criu_comm_fdcBs)eZdZd�Zd�Zd�ZRS(s2 Communication class for file descriptor. cCs|j|_||_dS(N(R RR (Rtfd((s//usr/lib/python2.7/site-packages/pycriu/criu.pyR=scCs(tj|jtjtj�|_|jS(N(RtfromfdR RRR(RR((s//usr/lib/python2.7/site-packages/pycriu/criu.pyRAscCs|jj�dS(N(RR(R((s//usr/lib/python2.7/site-packages/pycriu/criu.pyRGs(RRRRRR(((s//usr/lib/python2.7/site-packages/pycriu/criu.pyR8s t_criu_comm_bincBs)eZdZd�Zd�Zd�ZRS(s) Communication class for binary. cCs+|j|_||_d|_d|_dS(N(R RR RtswrkR(Rtbin_path((s//usr/lib/python2.7/site-packages/pycriu/criu.pyRPs csmtjtjtj��tj�dtj�}tj�dtj|tjB�tj�dtj�}tj�dtj|tj@�|�_t j �}|dkr��fd�}|rt j �}|dkr�t j�|�q t jd�q%|�n|r%t j |d�n�dj�tjd�djd��d�_�d�_�jS(Niics�tjd�tjd�tjd��djtjdtj���tj�j�jdd�dj�g�tj d�dS(NiiitiRs%d( tosRtsendtstructtpacktgetpidtexecvR tfilenot_exit((tcssR(s//usr/lib/python2.7/site-packages/pycriu/criu.pyt exec_criuds # Ri(Rt socketpairRRtfcntltF_GETFDtF_SETFDt FD_CLOEXECRRtforktsetsidR$twaitpidRRtunpacktrecvRR(RRtflagstpR&((R%Rs//usr/lib/python2.7/site-packages/pycriu/criu.pyRVs,!" & cCs0|jj�|js,tj|jd�ndS(Ni(RRRRR.R(R((s//usr/lib/python2.7/site-packages/pycriu/criu.pyR�s (RRRRRR(((s//usr/lib/python2.7/site-packages/pycriu/criu.pyRKs 0t CRIUExceptioncBs#eZdZdZdZd�ZRS(s? Exception class for handling and storing criu errors. cCs|jS(N(t_str(R((s//usr/lib/python2.7/site-packages/pycriu/criu.pyt__str__�sN(RRRRttypR4R5(((s//usr/lib/python2.7/site-packages/pycriu/criu.pyR3�stCRIUExceptionInternalcBseZdZd�ZRS(sC Exception class for handling and storing internal errors. cCs/||_dtjj|j�|f|_dS(Ns!%s failed with internal error: %s(R6trpct criu_req_typetNameR4(RR6ts((s//usr/lib/python2.7/site-packages/pycriu/criu.pyR�s (RRRR(((s//usr/lib/python2.7/site-packages/pycriu/criu.pyR7�stCRIUExceptionExternalcBs eZdZd�Zd�ZRS(sC Exception class for handling and storing criu RPC errors. cCs.||_||_||_|j�|_dS(N(R6tresp_typterrnot_gen_error_strR4(Rtreq_typR=R>((s//usr/lib/python2.7/site-packages/pycriu/criu.pyR�s cCs�dtjj|j�f}|j|jkrE|d|jf7}n|d|jf7}|jtjkrx|d7}n|jtjkr�|jtjkr�|d7}q�n|jtj kr�|jtj kr�|d7}q�n|d7}|S(Ns%s failed: sUnexpected response type %d: sError(%d): sBad optionssNo process with such pids)Process with requested pid already existstUnknown(R8R9R:R6R=R>tEBADRQCtDUMPtESRCHtRESTOREtEEXIST(RR;((s//usr/lib/python2.7/site-packages/pycriu/criu.pyR?�s (RRRRR?(((s//usr/lib/python2.7/site-packages/pycriu/criu.pyR<�s tcriucBs}eZdZdZdZd�Zd�Zd�Zd�Z d�Z d�Zd�Zd�Z d �Zd �Zd�ZRS( s Call criu through RPC. cCs)|jd�tj�|_d|_dS(NRG(t use_binaryR8t criu_optstoptsRR(R((s//usr/lib/python2.7/site-packages/pycriu/criu.pyR�s cCst|�|_dS(sZ Access criu using unix socket which that belongs to criu service daemon. N(Rt_comm(Rtsk_name((s//usr/lib/python2.7/site-packages/pycriu/criu.pytuse_sk�scCst|�|_dS(s0 Access criu using provided fd. N(RRK(RR((s//usr/lib/python2.7/site-packages/pycriu/criu.pytuse_fd�scCst|�|_dS(sO Access criu by execing it using provided path to criu binary. N(RRK(Rtbin_name((s//usr/lib/python2.7/site-packages/pycriu/criu.pyRH�scCst}|jtjkr4|jjd�r4t}ny�|jsU|jj |�}n |j}|j rs||_n|j|j��|j t|j dtjtjB���}|j s�|jj�ntj�}|j|�Wn+tk r}t|jt|���nX|S(sA As simple as send request and receive response. tpidi(tFalsettypeR8RCRJtHasFieldtTrueRRKRt keep_openRtSerializeToStringR0tlenRt MSG_TRUNCtMSG_PEEKRt criu_resptParseFromStringt ExceptionR7tstr(RtreqRR;tbuftrespte((s//usr/lib/python2.7/site-packages/pycriu/criu.pyt_send_req_and_recv_resp�s$% + cCsRtj�}tj|_|j|�}|jsNt|j|j|j��ndS(sB Checks whether the kernel support is up-to-date. N(R8tcriu_reqtCHECKRRRbtsuccessR<tcr_errno(RR^R`((s//usr/lib/python2.7/site-packages/pycriu/criu.pytchecks cCshtj�}tj|_|jj|j�|j|�}|jsat|j|j|j ��n|j S(sC Checkpoint a process/tree identified by opts.pid. (R8RcRCRRRJt MergeFromRbReR<Rftdump(RR^R`((s//usr/lib/python2.7/site-packages/pycriu/criu.pyRis cCshtj�}tj|_|jj|j�|j|�}|jsat|j|j|j ��n|j S(sC Checkpoint a process/tree identified by opts.pid. (R8RctPRE_DUMPRRRJRhRbReR<RfRi(RR^R`((s//usr/lib/python2.7/site-packages/pycriu/criu.pytpre_dump"s cCshtj�}tj|_|jj|j�|j|�}|jsat|j|j|j ��n|j S(s) Restore a process/tree. (R8RcRERRRJRhRbReR<Rftrestore(RR^R`((s//usr/lib/python2.7/site-packages/pycriu/criu.pyRl1s cCsqtj�}tj|_|jj|j�t|_|j|�}|j sjt |j|j|j��n|jS(N( R8RctPAGE_SERVER_CHLDRRRJRhRTRURbReR<Rftps(RR^R`((s//usr/lib/python2.7/site-packages/pycriu/criu.pytpage_server_chld@s cCs^tj�}tj|_||_|j|�}|jsWt|j|j|j��n|j S(N( R8RctWAIT_PIDRRRPRbReR<Rftstatus(RRPR^R`((s//usr/lib/python2.7/site-packages/pycriu/criu.pytwait_pidMs N(RRRRRJRKRRMRNRHRbRgRiRkRlRoRr(((s//usr/lib/python2.7/site-packages/pycriu/criu.pyRG�s # (((RR>R(RRtpycriu.rpc_pb2trpc_pb2R8RRRRR\R3R7R<RG(((s//usr/lib/python2.7/site-packages/pycriu/criu.pyt<module>sA#
/home/../lib/python2.7/site-packages/rhn/../pycriu/criu.pyo