linux(4): Fix the type of a constant in the signal mask macro
Since l_sigset_t is 64-bit unsigned on all Linuxulators, fix the type of a constant in the signal mask manipulation macro. The suffix L indicates type long which is 32-bit on i386, therefore, bitwise operations between a 32-bit constant and 64-bit signal mask lead to the wrong result. Pointy hat to: dchagin MFC after: 2 weeks
This commit is contained in:
parent
109fd18ad9
commit
669516a1a1
@ -118,8 +118,8 @@ typedef struct {
|
||||
|
||||
/* primitives to manipulate sigset_t */
|
||||
#define LINUX_SIGEMPTYSET(set) (set).__mask = 0
|
||||
#define LINUX_SIGISMEMBER(set, sig) (1UL & ((set).__mask >> _SIG_IDX(sig)))
|
||||
#define LINUX_SIGADDSET(set, sig) (set).__mask |= 1UL << _SIG_IDX(sig)
|
||||
#define LINUX_SIGISMEMBER(set, sig) (1ULL & ((set).__mask >> _SIG_IDX(sig)))
|
||||
#define LINUX_SIGADDSET(set, sig) (set).__mask |= 1ULL << _SIG_IDX(sig)
|
||||
|
||||
void linux_to_bsd_sigset(l_sigset_t *, sigset_t *);
|
||||
void bsd_to_linux_sigset(sigset_t *, l_sigset_t *);
|
||||
|
Loading…
Reference in New Issue
Block a user