| Index: runtime/bin/signal_blocker.h
|
| diff --git a/runtime/bin/signal_blocker.h b/runtime/bin/signal_blocker.h
|
| index 58e8d7eb00bdf5dfb568efcd6f5d9f9a5fbb7b61..1ab816c145deda0af496c680557b4b146199b433 100644
|
| --- a/runtime/bin/signal_blocker.h
|
| +++ b/runtime/bin/signal_blocker.h
|
| @@ -26,12 +26,26 @@ class ThreadSignalBlocker {
|
| sigaddset(&signal_mask, sig);
|
| // Add sig to signal mask.
|
| int r = pthread_sigmask(SIG_BLOCK, &signal_mask, &old);
|
| + USE(r);
|
| + ASSERT(r == 0);
|
| + }
|
| +
|
| + ThreadSignalBlocker(int sigs_count, const int sigs[]) {
|
| + sigset_t signal_mask;
|
| + sigemptyset(&signal_mask);
|
| + for (int i = 0; i < sigs_count; i++) {
|
| + sigaddset(&signal_mask, sigs[i]);
|
| + }
|
| + // Add sig to signal mask.
|
| + int r = pthread_sigmask(SIG_BLOCK, &signal_mask, &old);
|
| + USE(r);
|
| ASSERT(r == 0);
|
| }
|
|
|
| ~ThreadSignalBlocker() {
|
| // Restore signal mask.
|
| int r = pthread_sigmask(SIG_SETMASK, &old, NULL);
|
| + USE(r);
|
| ASSERT(r == 0);
|
| }
|
|
|
|
|