diff --git a/src/header/signal/mod.rs b/src/header/signal/mod.rs
index 1e125cefd30ba13b996d4ec892be90088e64effa..0af7d22f53d4b9025da832084c2683c868a92335 100644
--- a/src/header/signal/mod.rs
+++ b/src/header/signal/mod.rs
@@ -60,7 +60,7 @@ pub struct siginfo_t {
     _si_align: [usize; 0],
 }
 
-pub type sigset_t = c_ulong;
+pub type sigset_t = c_ulonglong;
 
 pub type stack_t = sigaltstack;
 
@@ -259,9 +259,9 @@ pub extern "C" fn sigpending(set: *mut sigset_t) -> c_int {
     Sys::sigpending(set)
 }
 
-const BELOW_SIGRTMIN_MASK: c_ulong = (1 << SIGRTMIN) - 1;
-const STANDARD_SIG_MASK: c_ulong = (1 << 32) - 1;
-const RLCT_SIGNAL_MASK: c_ulong = BELOW_SIGRTMIN_MASK & !STANDARD_SIG_MASK;
+const BELOW_SIGRTMIN_MASK: sigset_t = (1 << SIGRTMIN) - 1;
+const STANDARD_SIG_MASK: sigset_t = (1 << 32) - 1;
+const RLCT_SIGNAL_MASK: sigset_t = BELOW_SIGRTMIN_MASK & !STANDARD_SIG_MASK;
 
 #[no_mangle]
 pub unsafe extern "C" fn sigprocmask(how: c_int, set: *const sigset_t, oset: *mut sigset_t) -> c_int {