[PATCH] signal: Use <sigsetops.h> for sigemptyset, sigfillset
Florian Weimer
fw@deneb.enyo.de
Wed Apr 22 08:27:18 GMT 2020
This avoids changing the entire sigset_t structure. Updating the
actually used part is sufficient.
Tested on x86_64-linux-gnu and i686-linux-gnu.
-----
signal/sigempty.c | 7 +++----
signal/sigfillset.c | 6 ++----
2 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/signal/sigempty.c b/signal/sigempty.c
index 794e449997..e9f3b571b6 100644
--- a/signal/sigempty.c
+++ b/signal/sigempty.c
@@ -17,20 +17,19 @@
#include <errno.h>
#include <signal.h>
-#include <string.h>
+#include <sigsetops.h>
/* Clear all signals from SET. */
int
sigemptyset (sigset_t *set)
{
- if (set == NULL)
+ if (__glibc_unlikely (set == NULL))
{
__set_errno (EINVAL);
return -1;
}
- memset (set, 0, sizeof (sigset_t));
-
+ __sigemptyset (set);
return 0;
}
libc_hidden_def (sigemptyset)
diff --git a/signal/sigfillset.c b/signal/sigfillset.c
index 0ca8b6b534..29e98a5864 100644
--- a/signal/sigfillset.c
+++ b/signal/sigfillset.c
@@ -17,8 +17,8 @@
#include <errno.h>
#include <signal.h>
-#include <string.h>
#include <internal-signals.h>
+#include <sigsetops.h>
/* Set all signals in SET. */
int
@@ -30,10 +30,8 @@ sigfillset (sigset_t *set)
return -1;
}
- memset (set, 0xff, sizeof (sigset_t));
-
+ __sigfillset (set);
__clear_internal_signals (set);
-
return 0;
}
libc_hidden_def (sigfillset)
More information about the Libc-alpha
mailing list