• Pablo Galindo's avatar
    bpo-33613, test_semaphore_tracker_sigint: fix race condition (#7850) · ec74d187
    Pablo Galindo authored
    Fail `test_semaphore_tracker_sigint` if no warnings are expected and one is received.
    
    Fix race condition when the child receives SIGINT before it can register signal handlers for it.
    
    The race condition occurs when the parent calls
    `_semaphore_tracker.ensure_running()` (which in turn spawns the
    semaphore_tracker using `_posixsubprocess.fork_exec`), the child
    registers the signal handlers and the parent tries to kill the child.
    What seem to happen is that in some slow systems, the parent sends the
    signal to kill the child before the child protects against the signal.
    ec74d187
2018-07-31-23-33-06.bpo-33613.Cdnt0i.rst 151 Bytes