]> git.stg.codes - stg.git/blobdiff - projects/sgauth/web.cpp
Block all signals in threads other than main
[stg.git] / projects / sgauth / web.cpp
index ab169cc49160f0813878ef7a7e1f65bce444f1f9..61cd2b5846211b4840465dde392c84db9ba62f2c 100644 (file)
  $Date: 2010/03/15 12:58:17 $
  */
 
-#include <stdio.h>
-#include <string.h>
-#include <time.h>
 #include <libintl.h>
 
+#include <csignal>
+#include <cstdio>
+#include <cstring>
+#include <ctime>
+
 #include "stg/common.h"
 #include "stg/ia.h"
 #include "web.h"
@@ -42,10 +44,15 @@ extern IA_CLIENT_PROT * clnp;
 //---------------------------------------------------------------------------
 #ifndef WIN32
 void * RunWeb(void *)
+{
+sigset_t signalSet;
+sigfillset(&signalSet);
+pthread_sigmask(SIG_BLOCK, &signalSet, NULL);
+
 #else
 unsigned long WINAPI RunWeb(void *)
-#endif
 {
+#endif
 while (1)
     web->Run();
 return NULL;