diff --git a/src/signal/src/lib.rs b/src/signal/src/lib.rs
index 2f9d24fd434eb4dc01b298a490acdeaf06a66094..8ca3b7f07a6f7816fe69fb65a2f15012ccedada3 100644
--- a/src/signal/src/lib.rs
+++ b/src/signal/src/lib.rs
@@ -66,7 +66,9 @@ pub unsafe extern "C" fn sigaction(sig: c_int, act: *const sigaction, oact: *mut
 #[no_mangle]
 pub extern "C" fn sigaddset(set: *mut sigset_t, mut signo: c_int) -> c_int {
     if signo <= 0 || signo as usize > NSIG {
-        platform::errno = errno::EINVAL;
+        unsafe {
+            platform::errno = errno::EINVAL;
+        }
         return -1;
     }