Revision ee399306 posix-aio-compat.c

b/posix-aio-compat.c
301 301
static void *aio_thread(void *unused)
302 302
{
303 303
    pid_t pid;
304
    sigset_t set;
305 304

  
306 305
    pid = getpid();
307 306

  
308
    /* block all signals */
309
    if (sigfillset(&set)) die("sigfillset");
310
    if (sigprocmask(SIG_BLOCK, &set, NULL)) die("sigprocmask");
311

  
312 307
    while (1) {
313 308
        struct qemu_paiocb *aiocb;
314 309
        size_t ret = 0;
......
369 364

  
370 365
static void spawn_thread(void)
371 366
{
367
    sigset_t set, oldset;
368

  
372 369
    cur_threads++;
373 370
    idle_threads++;
371

  
372
    /* block all signals */
373
    if (sigfillset(&set)) die("sigfillset");
374
    if (sigprocmask(SIG_SETMASK, &set, &oldset)) die("sigprocmask");
375

  
374 376
    thread_create(&thread_id, &attr, aio_thread, NULL);
377

  
378
    if (sigprocmask(SIG_SETMASK, &oldset, NULL)) die("sigprocmask restore");
375 379
}
376 380

  
377 381
static void qemu_paio_submit(struct qemu_paiocb *aiocb)

Also available in: Unified diff