Revision 89b9ba66 cpus.c

b/cpus.c
396 396
    sigaddset(&set, SIGUSR2);
397 397
    pthread_sigmask(SIG_UNBLOCK, &set, NULL);
398 398

  
399
    /*
400
     * SIG_IPI must be blocked in the main thread and must not be caught
401
     * by sigwait() in the signal thread. Otherwise, the cpu thread will
402
     * not catch it reliably.
403
     */
404
    sigemptyset(&set);
405
    sigaddset(&set, SIG_IPI);
406
    pthread_sigmask(SIG_BLOCK, &set, NULL);
407

  
399 408
    sigemptyset(&set);
400 409
    sigaddset(&set, SIGIO);
401 410
    sigaddset(&set, SIGALRM);
402
    sigaddset(&set, SIG_IPI);
403 411
    sigaddset(&set, SIGBUS);
404 412
#else
405 413
    sigemptyset(&set);

Also available in: Unified diff