aboutsummaryrefslogtreecommitdiff
path: root/lldb/tools/driver/Driver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/tools/driver/Driver.cpp')
-rw-r--r--lldb/tools/driver/Driver.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/lldb/tools/driver/Driver.cpp b/lldb/tools/driver/Driver.cpp
index ba00411..733331f 100644
--- a/lldb/tools/driver/Driver.cpp
+++ b/lldb/tools/driver/Driver.cpp
@@ -902,9 +902,10 @@ int main(int argc, char const *argv[]) {
}
#if !defined(_WIN32)
- signal_loop.AddPendingCallback(
- [](MainLoopBase &loop) { loop.RequestTermination(); });
- signal_thread.join();
+ // Try to interrupt the signal thread. If that succeeds, wait for it to exit.
+ if (signal_loop.AddPendingCallback(
+ [](MainLoopBase &loop) { loop.RequestTermination(); }))
+ signal_thread.join();
#endif
return exit_code;