Reviewers: Michail Naganov,

Description:
Profiler on linux: use SA_RESTART signal flag to have most of the syscalls
restarted for us.

This change keeps the interactive shell alive.

Please review this at http://codereview.chromium.org/4197002/show

Affected files:
  M src/platform-linux.cc


Index: src/platform-linux.cc
diff --git a/src/platform-linux.cc b/src/platform-linux.cc
index eefaec9042b8741da4f9ed81d05e399e41bb6fd0..c0eb21395feef7ae433456798f057c25db9b4af8 100644
--- a/src/platform-linux.cc
+++ b/src/platform-linux.cc
@@ -856,7 +856,7 @@ void Sampler::Start() {
   struct sigaction sa;
   sa.sa_sigaction = ProfilerSignalHandler;
   sigemptyset(&sa.sa_mask);
-  sa.sa_flags = SA_SIGINFO;
+  sa.sa_flags = SA_RESTART | SA_SIGINFO;
   if (sigaction(SIGPROF, &sa, &data_->old_signal_handler_) != 0) return;
   data_->signal_handler_installed_ = true;



--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to