summaryrefslogtreecommitdiff
path: root/src/signal/sigdelset.c
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2020-08-13 19:31:50 -0400
committerJakob Kaivo <jkk@ung.org>2020-08-13 19:31:50 -0400
commit17130d83b48ce257ed9bc5bb2898d44c01ab82c0 (patch)
tree24b70d54588065d0ef1316c241d0fb45770db711 /src/signal/sigdelset.c
parentc7c53812b45f2ba0689fc5c797292d188f66c3b2 (diff)
basic implementation
Diffstat (limited to 'src/signal/sigdelset.c')
-rw-r--r--src/signal/sigdelset.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/signal/sigdelset.c b/src/signal/sigdelset.c
index ca20cc43..bcd0d716 100644
--- a/src/signal/sigdelset.c
+++ b/src/signal/sigdelset.c
@@ -1,9 +1,14 @@
#include "sys/types.h"
#include <signal.h>
+#include "limits.h"
int sigdelset(sigset_t * set, int signo)
{
- (void)set; (void)signo;
+ /* TODO: fail with EINVAL if signo is not a valid signal number */
+ size_t byte = signo % CHAR_BIT;
+ int bit = signo / CHAR_BIT;
+
+ set->__bits[byte] ^= (1 << bit);
return 0;
}
/*