diff options
Diffstat (limited to 'runtime/signal_catcher.cc')
| -rw-r--r-- | runtime/signal_catcher.cc | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/runtime/signal_catcher.cc b/runtime/signal_catcher.cc index 11e06fe885..336340eca9 100644 --- a/runtime/signal_catcher.cc +++ b/runtime/signal_catcher.cc @@ -118,17 +118,6 @@ void SignalCatcher::Output(const std::string& s) { void SignalCatcher::HandleSigQuit() { Runtime* runtime = Runtime::Current(); - ThreadList* thread_list = runtime->GetThreadList(); - - // Grab exclusively the mutator lock, set state to Runnable without checking for a pending - // suspend request as we're going to suspend soon anyway. We set the state to Runnable to avoid - // giving away the mutator lock. - thread_list->SuspendAll(); - Thread* self = Thread::Current(); - Locks::mutator_lock_->AssertExclusiveHeld(self); - const char* old_cause = self->StartAssertNoThreadSuspension("Handling SIGQUIT"); - ThreadState old_state = self->SetStateUnsafe(kRunnable); - std::ostringstream os; os << "\n" << "----- pid " << getpid() << " at " << GetIsoDate() << " -----\n"; @@ -149,14 +138,6 @@ void SignalCatcher::HandleSigQuit() { } } os << "----- end " << getpid() << " -----\n"; - CHECK_EQ(self->SetStateUnsafe(old_state), kRunnable); - self->EndAssertNoThreadSuspension(old_cause); - thread_list->ResumeAll(); - // Run the checkpoints after resuming the threads to prevent deadlocks if the checkpoint function - // acquires the mutator lock. - if (self->ReadFlag(kCheckpointRequest)) { - self->RunCheckpointFunction(); - } Output(os.str()); } |