[compiler-rt] r235701 - [Sanitizers] Do not call internal_sigdelset() on non-Linux

Viktor Kutuzov vkutuzov at accesssoftek.com
Fri Apr 24 00:48:26 PDT 2015


Author: vkutuzov
Date: Fri Apr 24 02:48:26 2015
New Revision: 235701

URL: http://llvm.org/viewvc/llvm-project?rev=235701&view=rev
Log:
[Sanitizers] Do not call internal_sigdelset() on non-Linux
Differential Revision: http://reviews.llvm.org/D9220

Modified:
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc?rev=235701&r1=235700&r2=235701&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc Fri Apr 24 02:48:26 2015
@@ -915,9 +915,11 @@ void *internal_start_thread(void(*func)(
   // Start the thread with signals blocked, otherwise it can steal user signals.
   __sanitizer_sigset_t set, old;
   internal_sigfillset(&set);
+#if SANITIZER_LINUX
   // Glibc uses SIGSETXID signal during setuid call. If this signal is blocked
   // on any thread, setuid call hangs (see test/tsan/setuid.c).
   internal_sigdelset(&set, 33);
+#endif
   internal_sigprocmask(SIG_SETMASK, &set, &old);
   void *th;
   real_pthread_create(&th, 0, (void*(*)(void *arg))func, arg);





More information about the llvm-commits mailing list