[Lldb-commits] [lldb] r221011 - Always transmit SIGPROF back to the inferior.

Stephane Sezer sas at cd80.net
Fri Oct 31 15:37:24 PDT 2014


Author: sas
Date: Fri Oct 31 17:37:24 2014
New Revision: 221011

URL: http://llvm.org/viewvc/llvm-project?rev=221011&view=rev
Log:
Always transmit SIGPROF back to the inferior.

Summary:
SIGPROF is used for profiling processes (with google-perftools for
instance), which results in the inferior receiving a SIGPROF from the
kernel every few milliseconds. Instead of stopping the debugging session
and notifying the user of this, we should just pass the signal and keep
running.

This follows the behavior we have in UnixSignals.cpp.

Test Plan: Run LLDB on linux with a binary using google-perftools, see that execution gets interrupted all the time because we receive SIGPROF. Apply the patch, everything works fine.

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D5953

Modified:
    lldb/trunk/source/Plugins/Process/Utility/LinuxSignals.cpp

Modified: lldb/trunk/source/Plugins/Process/Utility/LinuxSignals.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Utility/LinuxSignals.cpp?rev=221011&r1=221010&r2=221011&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/Utility/LinuxSignals.cpp (original)
+++ lldb/trunk/source/Plugins/Process/Utility/LinuxSignals.cpp Fri Oct 31 17:37:24 2014
@@ -53,7 +53,7 @@ LinuxSignals::Reset()
     AddSignal (24,   "SIGXCPU",   "XCPU",    false,   true , true , "CPU resource exceeded");
     AddSignal (25,   "SIGXFSZ",   "XFSZ",    false,   true , true , "file size limit exceeded");
     AddSignal (26,   "SIGVTALRM", "VTALRM",  false,   true , true , "virtual time alarm");
-    AddSignal (27,   "SIGPROF",   "PROF",    false,   true , true , "profiling time alarm");
+    AddSignal (27,   "SIGPROF",   "PROF",    false,   false, false, "profiling time alarm");
     AddSignal (28,   "SIGWINCH",  "WINCH",   false,   true , true , "window size changes");
     AddSignal (29,   "SIGPOLL",   "POLL",    false,   true , true , "pollable event");
     AddSignal (29,   "SIGIO",     "IO",      false,   true , true , "input/output ready");





More information about the lldb-commits mailing list