diff --git a/libc/private/sigrtmin.h b/libc/private/sigrtmin.h
index ea8673d..431a1dd 100644
--- a/libc/private/sigrtmin.h
+++ b/libc/private/sigrtmin.h
@@ -32,6 +32,8 @@
 
 #include <signal.h>
 
+#include "bionic_macros.h"
+
 // Realtime signals reserved for internal use:
 //   32 (__SIGRTMIN + 0)        POSIX timers
 //   33 (__SIGRTMIN + 1)        libbacktrace
@@ -42,9 +44,29 @@
 // in <android/legacy_signal_inlines.h> to match.
 
 #define __SIGRT_RESERVED 4
-static inline __always_inline sigset64_t filter_reserved_signals(sigset64_t sigset) {
-  for (int signo = __SIGRTMIN; signo < __SIGRTMIN + __SIGRT_RESERVED; ++signo) {
-    sigdelset64(&sigset, signo);
+static inline __always_inline sigset64_t filter_reserved_signals(sigset64_t sigset, int how) {
+  int (*block)(sigset64_t*, int);
+  int (*unblock)(sigset64_t*, int);
+  switch (how) {
+    case SIG_BLOCK:
+      __BIONIC_FALLTHROUGH;
+    case SIG_SETMASK:
+      block = sigaddset64;
+      unblock = sigdelset64;
+      break;
+
+    case SIG_UNBLOCK:
+      block = sigdelset64;
+      unblock = sigaddset64;
+      break;
   }
+
+  // The POSIX timer signal must be blocked.
+  block(&sigset, __SIGRTMIN + 0);
+
+  // Everything else must remain unblocked.
+  unblock(&sigset, __SIGRTMIN + 1);
+  unblock(&sigset, __SIGRTMIN + 2);
+  unblock(&sigset, __SIGRTMIN + 3);
   return sigset;
 }
