7 typedef sigset_t lock_state_t
;
10 lock_state_t lock_state
;
13 #define LOCK_INIT (struct lock) {}
15 static inline void lock_init(struct lock
*lock
)
19 static inline void lock(struct lock
*lock
)
23 sigaddset(&sigs
, SIGALRM
);
24 sigprocmask(SIG_BLOCK
, &sigs
, &lock
->lock_state
);
27 static inline void unlock(struct lock
*lock
)
29 sigprocmask(SIG_SETMASK
, &lock
->lock_state
, NULL
);