
    xKg                         d dl Z d dlZd dlZd dlmZ d dlmZm	Z	 d dl
Z
 eed      Ze j                  dk(  Zd Z ed       G d d	e	             Zed
k(  r e
j$                          yy)    N)cuda)skip_on_cudasimCUDATestCaseget_contextposixc                     ddl m} 	 t        j                  t	        j
                  d             | j                  d        y # |$ r}| j                  |       Y d }~y d }~ww xY w)Nr   )CudaDriverError   )numba.cuda.cudadrv.errorr	   r   	to_devicenparangeput)qr	   es      p/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/numba/cuda/tests/cudapy/test_multiprocessing.py	fork_testr      sJ    8ryy|$ 	
d  	as   (A A"AA"zdisabled for cudasimc                   j    e Zd Z ej                  ed       ej                  ed      d               Zy)TestMultiprocessingzrequires mp.get_contextzrequires Unixc                 ^   t        j                          t        j                  d      }|j	                         }|j                  t        |g      }|j                          |j                         }|j                          | j                  |       | j                  dt        |             y)z&
        Test fork detection.
        fork)targetargszCUDA initialized before forkingN)r   current_contextmpr   QueueProcessr   startgetjoinassertIsNotNoneassertInstr)selfctxr   procexcs        r   	test_forkzTestMultiprocessing.test_fork   s{     	nnV$IIK{{)1#{6

eeg		S!7SB    N)__name__
__module____qualname__unittest
skipUnlesshas_mp_get_contextis_unixr(    r)   r   r   r      s?    X+-FGX/2C 3 HCr)   r   __main__)osmultiprocessingr   numpyr   numbar   numba.cuda.testingr   r   r-   hasattrr/   namer0   r   r   r*   mainr1   r)   r   <module>r;      su    	    < R/ 
''W
 '(C, C )C( zHMMO r)   