
    /hh}                         S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKJr   " S S\	5      r
 " S S\R                  5      r\S:X  a  \R                  " 5         gg)    N)supportc                       \ rS rSrSrg)SIGUSR1Exception    N)__name__
__module____qualname____firstlineno____static_attributes__r       C/opt/python-3.13.8/usr/lib/python3.13/test/signalinterproctester.pyr   r      s    r   r   c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
InterProcessSignalTests   c                     SSSS.U l         g )Nr   SIGHUPSIGUSR1SIGALRMgot_signals)selfs    r   setUpInterProcessSignalTests.setUp   s    &'A!Dr   c                 2    U R                   S==   S-  ss'   g )Nr      r   r   signumframes      r   sighup_handler&InterProcessSignalTests.sighup_handler   s    "a'"r   c                 <    U R                   S==   S-  ss'   [        e)Nr   r   )r   r   r   s      r   sigusr1_handler'InterProcessSignalTests.sigusr1_handler   s    #q(#r   c                 X   Ub  UR                  5         [        R                  " 5       n[        R                  " [        R
                  SS9 H.  nU R                  U   (       a    g [        R                  " 5         M0     [        R                  " 5       U-
  nU R                  SX%4-  5        g )NF)errorz)signal %s not received after %.1f seconds)
waittime	monotonicr   
busy_retrySHORT_TIMEOUTr   signalpausefail)r   childsigname
start_time_dts         r   wait_signal#InterProcessSignalTests.wait_signal   s     JJL^^%
##G$9$9GA(LLN H
 !J.BIIA & 'r   c                 l    SU< SU< S3n[         R                  SSU/n[        R                  " U5      $ )Nzimport os, signal; os.kill(z	, signal.)z-Iz-c)sys
executable
subprocessPopen)r   pidr1   codeargss        r   subprocess_send_signal.InterProcessSignalTests.subprocess_send_signal*   s/    >A7KdD1%%r   c                    [         R                   " [         R                  U R                  5        [         R                   " [         R                  U R                  5        [         R                   " [         R
                  [         R                  5        [         R                   " [         R                  [         R                  5        [        [        R                  " 5       5      nU R                  US5       nU R                  US5        S S S 5        U R                  U R                  SSSS.5        S n[         R"                  " 5         U R%                  [&        5         U R                  US5       nU R                  US5        S S S 5        S S S 5        U R                  U R                  SSSS.5        U R                  US5       nUR)                  5         S S S 5         U R%                  [*        5         [         R,                  " S5        U R                  S S5        S S S 5        U R                  U R                  SSSS.5        [         R,                  " S5        g ! , (       d  f       GNZ= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! [         R,                  " S5        f = f)Nr   r   r   r   r   SIGUSR2r   )r-   r   r!   r   r$   rC   SIG_IGNr   default_int_handlerstrosgetpidr@   r5   assertEqualr   gccollectassertRaisesr   r(   KeyboardInterruptalarm)r   r=   r0   s      r   test_interprocess_signal0InterProcessSignalTests.test_interprocess_signal/   s    	fmmT%8%89fnnd&:&:;fnnfnn5fnnf&@&@A "))+((h75UH- 8))aA78,: 	; 


/0,,S)<  	2 = 1 	))aA78,: 	; ((i8EJJL 9	""#45Q  y1 6 T--!;<0> ? LLO; 87 =< 10 98
 65 LLOs`   5II>/I-I>JJ1 3)J (J1 
I*-
I;	7I>>
J
J 
J.*J1 1K	r   N)r   r	   r
   r   r   r!   r$   r5   r@   rO   r   r   r   r   r   r      s!    E(' &
(r   r   __main__)rJ   rG   r-   r;   r9   r)   unittesttestr   	Exceptionr   TestCaser   r   mainr   r   r   <module>rW      sV    	 	   
   	y 	Hh// HV zMMO r   