aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQijiang Fan <fqj@google.com>2020-07-31 05:51:38 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-07-31 05:51:38 +0000
commitb788106e21e046967ef4d31fcea768f1af3d8100 (patch)
tree4cf42caf1c41c75a1e31408870cb7bb9bb58f0ca
parentbe53cf4ab21b512a802f509232bd2b8519a1136f (diff)
parent2e12f6c0b543b2b6a49eb29301a69a2f4d435b3a (diff)
downloadlibbrillo-b788106e21e046967ef4d31fcea768f1af3d8100.tar.gz
libbrillo: replace sigorset with sigismember and sigaddset am: a4cec6c21e am: 2e12f6c0b5
Original change: https://android-review.googlesource.com/c/platform/external/libbrillo/+/1371781 Change-Id: I071d1a6ee81aac2cb41f83474721827d62d9edce
-rw-r--r--brillo/asynchronous_signal_handler.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/brillo/asynchronous_signal_handler.cc b/brillo/asynchronous_signal_handler.cc
index 30ac2a5..38b1787 100644
--- a/brillo/asynchronous_signal_handler.cc
+++ b/brillo/asynchronous_signal_handler.cc
@@ -87,7 +87,16 @@ void AsynchronousSignalHandler::UpdateSignals() {
if (!descriptor_.is_valid())
return;
sigset_t mask;
+#ifdef __ANDROID__
+ CHECK_EQ(0, sigemptyset(&mask));
+ for (size_t i = 0; i < NSIG; ++i) {
+ if (sigismember(&signal_mask_, i) == 1 || sigismember(&saved_signal_mask_, i) == 1) {
+ CHECK_EQ(0, sigaddset(&mask, i));
+ }
+ }
+#else
CHECK_EQ(0, sigorset(&mask, &signal_mask_, &saved_signal_mask_));
+#endif
CHECK_EQ(0, sigprocmask(SIG_SETMASK, &mask, nullptr));
CHECK_EQ(
descriptor_.get(),