]> git.stg.codes - stg.git/blobdiff - projects/sgauthstress/proto.cpp
Block all signals in threads other than main
[stg.git] / projects / sgauthstress / proto.cpp
index 2e97fd2a0990c165c8d3089a0096866440f1a722..dc2bf08c1915e730be255fef5d1f6d91ad211f88 100644 (file)
@@ -1,6 +1,7 @@
 #include <netdb.h>
 #include <arpa/inet.h>
 
+#include <csignal>
 #include <cerrno>
 #include <cstring>
 #include <cassert>
@@ -77,6 +78,10 @@ pthread_mutex_destroy(&mutex);
 
 void * PROTO::Runner(void * data)
 {
+sigset_t signalSet;
+sigfillset(&signalSet);
+pthread_sigmask(SIG_BLOCK, &signalSet, NULL);
+
 PROTO * protoPtr = static_cast<PROTO *>(data);
 protoPtr->Run();
 return NULL;