diff --git a/src/include/libpq/pqsignal.h b/src/include/libpq/pqsignal.h
index 695c4dc3f8..783a33a926 100644
--- a/src/include/libpq/pqsignal.h
+++ b/src/include/libpq/pqsignal.h
@@ -16,7 +16,7 @@
 #include <signal.h>
 
 #ifndef WIN32
-#define PG_SETMASK(mask)	sigprocmask(SIG_SETMASK, mask, NULL)
+#define PG_SETMASK(mask)	pthread_sigmask(SIG_SETMASK, mask, NULL)
 #else
 /* Emulate POSIX sigset_t APIs on Windows */
 typedef int sigset_t;
