Ignore:
Timestamp:
Jan 14, 2021, 1:13:47 PM (3 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
03ecdcf, 54cc2bf, ee59ede
Parents:
b0f6190a
Message:

Small refector so only preemption cares about signal

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/io/setup.cfa

    rb0f6190a r7222630  
    314314        }
    315315
    316         extern void signal_block( int sig );
    317         extern void signal_unblock( int sig );
     316        extern void __disable_interrupts_hard();
     317        extern void __enable_interrupts_hard();
    318318
    319319        static void __io_create( __io_data & this, const io_context_params & params_in ) {
     
    434434                // io_uring_register is so f*cking slow on some machine that it
    435435                // will never succeed if preemption isn't hard blocked
    436                 signal_block( SIGUSR1 );
     436                __disable_interrupts_hard();
    437437
    438438                int efd = eventfd(0, 0);
     
    446446                }
    447447
    448                 signal_unblock( SIGUSR1 );
     448                __enable_interrupts_hard();
    449449
    450450                // some paranoid checks
Note: See TracChangeset for help on using the changeset viewer.