Ok. Resubmitted.
Denys Vlasenko wrote:
On Tuesday 26 November 2013 21:01, Daniel Borca wrote:
sigisemptyset() is a glibc function
+ sigset_t empty;
+ int ret = sigemptyset(&empty);
+ if (ret == 0) {
+ ret = !memcmp(&empty, set, sizeof(sigset_t));
+ }
In this code sigemptyset() never fails.
Please do not waste code checking for it.
-dborca
Signed-off-by: Daniel Borca <[email protected]>
---
include/platform.h | 6 ++++++
libbb/platform.c | 9 +++++++++
2 files changed, 15 insertions(+)
diff --git a/include/platform.h b/include/platform.h
index 331ad1b..406f7b8 100644
--- a/include/platform.h
+++ b/include/platform.h
@@ -367,6 +367,7 @@ typedef unsigned smalluint;
#define HAVE_PTSNAME_R 1
#define HAVE_SETBIT 1
#define HAVE_SIGHANDLER_T 1
+#define HAVE_SIGISEMPTYSET 1
#define HAVE_STPCPY 1
#define HAVE_STRCASESTR 1
#define HAVE_STRCHRNUL 1
@@ -437,6 +438,7 @@ typedef unsigned smalluint;
#if defined(__FreeBSD__) || defined(__APPLE__)
# undef HAVE_MEMPCPY
+# undef HAVE_SIGISEMPTYSET
# undef HAVE_STRCHRNUL
#endif
@@ -491,6 +493,10 @@ extern char *mkdtemp(char *template) FAST_FUNC;
typedef void (*sighandler_t)(int);
#endif
+#ifndef HAVE_SIGISEMPTYSET
+extern int sigisemptyset(sigset_t *set);
+#endif
+
#ifndef HAVE_STPCPY
extern char *stpcpy(char *p, const char *to_add) FAST_FUNC;
#endif
diff --git a/libbb/platform.c b/libbb/platform.c
index 1973451..bf1f22d 100644
--- a/libbb/platform.c
+++ b/libbb/platform.c
@@ -176,3 +176,12 @@ ssize_t FAST_FUNC getline(char **lineptr, size_t *n, FILE
*stream)
return len;
}
#endif
+
+#ifndef HAVE_SIGISEMPTYSET
+int sigisemptyset(sigset_t *set)
+{
+ sigset_t empty;
+ sigemptyset(&empty);
+ return !memcmp(&empty, set, sizeof(sigset_t));
+}
+#endif
--
1.8.4
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox