[tor-commits] [vidalia/master] Fix deadlock when browser process does not launch
chiiph at torproject.org
chiiph at torproject.org
Wed Mar 21 23:48:27 UTC 2012
commit 1fa42e88f3d6f19a36d3844013eae196e5c41946
Author: Tomás Touceda <chiiph at torproject.org>
Date: Wed Mar 21 20:46:10 2012 -0300
Fix deadlock when browser process does not launch
---
src/vidalia/HelperProcess.cpp | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/vidalia/HelperProcess.cpp b/src/vidalia/HelperProcess.cpp
index b80f151..5c791bf 100644
--- a/src/vidalia/HelperProcess.cpp
+++ b/src/vidalia/HelperProcess.cpp
@@ -137,14 +137,19 @@ HelperProcess::isDone() const
void
HelperProcess::toForeground()
{
-#if defined(Q_WS_MAC)
+#if defined(Q_WS_MAC)
+ if(state() != QProcess::Running)
+ return;
+
ProcessSerialNumber psn;
OSStatus st;
do {
st = GetProcessForPID(pid(), &psn);
- } while(st == -600);
+ QCoreApplication::processEvents();
+ } while(st == procNotFound and state() == QProcess::Running);
- SetFrontProcess(&psn);
-#endif
+ if(st != procNotFound)
+ SetFrontProcess(&psn);
+#endif
}
More information about the tor-commits
mailing list