|
@@ -97,6 +97,23 @@ static inline int sigisemptyset(sigset_t *set)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+static inline int sigequalsets(const sigset_t *set1, const sigset_t *set2)
|
|
|
+{
|
|
|
+ switch (_NSIG_WORDS) {
|
|
|
+ case 4:
|
|
|
+ return (set1->sig[3] == set2->sig[3]) &&
|
|
|
+ (set1->sig[2] == set2->sig[2]) &&
|
|
|
+ (set1->sig[1] == set2->sig[1]) &&
|
|
|
+ (set1->sig[0] == set2->sig[0]);
|
|
|
+ case 2:
|
|
|
+ return (set1->sig[1] == set2->sig[1]) &&
|
|
|
+ (set1->sig[0] == set2->sig[0]);
|
|
|
+ case 1:
|
|
|
+ return set1->sig[0] == set2->sig[0];
|
|
|
+ }
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
#define sigmask(sig) (1UL << ((sig) - 1))
|
|
|
|
|
|
#ifndef __HAVE_ARCH_SIG_SETOPS
|