[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[vidalia-svn] r3899: Close Tor's stdout even sooner after registering for log eve (in vidalia/trunk/src: torcontrol vidalia)
Author: edmanm
Date: 2009-06-26 19:16:06 -0400 (Fri, 26 Jun 2009)
New Revision: 3899
Modified:
vidalia/trunk/src/torcontrol/TorControl.cpp
vidalia/trunk/src/torcontrol/TorControl.h
vidalia/trunk/src/vidalia/MainWindow.cpp
Log:
Close Tor's stdout even sooner after registering for log events. Lame fix
for ticket #484/duplicate ticket #495.
Modified: vidalia/trunk/src/torcontrol/TorControl.cpp
===================================================================
--- vidalia/trunk/src/torcontrol/TorControl.cpp 2009-06-26 20:14:38 UTC (rev 3898)
+++ vidalia/trunk/src/torcontrol/TorControl.cpp 2009-06-26 23:16:06 UTC (rev 3899)
@@ -131,6 +131,15 @@
|| _controlConn->isConnected());
}
+/** Stops reading log messages from the Tor process's stdout. This has no
+ * effect if isVidaliaRunningTor() is false. */
+void
+TorControl::closeTorStdout()
+{
+ if (_torProcess)
+ _torProcess->closeStdout();
+}
+
/** Called when Tor has printed a log message to stdout. */
void
TorControl::onLogStdout(QString severity, QString message)
Modified: vidalia/trunk/src/torcontrol/TorControl.h
===================================================================
--- vidalia/trunk/src/torcontrol/TorControl.h 2009-06-26 20:14:38 UTC (rev 3898)
+++ vidalia/trunk/src/torcontrol/TorControl.h 2009-06-26 23:16:06 UTC (rev 3899)
@@ -61,7 +61,10 @@
bool isRunning();
/** Detects if the Tor process is running under Vidalia. */
bool isVidaliaRunningTor();
-
+ /** Stops reading log messages from the Tor process's stdout. This has no
+ * effect if isVidaliaRunningTor() is false. */
+ void closeTorStdout();
+
/** Connect to Tor's control socket */
void connect(const QHostAddress &address, quint16 port);
/** Disconnect from Tor's control socket */
Modified: vidalia/trunk/src/vidalia/MainWindow.cpp
===================================================================
--- vidalia/trunk/src/vidalia/MainWindow.cpp 2009-06-26 20:14:38 UTC (rev 3898)
+++ vidalia/trunk/src/vidalia/MainWindow.cpp 2009-06-26 23:16:06 UTC (rev 3899)
@@ -1360,6 +1360,10 @@
"Many of Vidalia's features may be unavailable."))
+ p(errmsg),
VMessageBox::Ok);
+ } else {
+ /* Stop reading from Tor's stdout immediately, since we successfully
+ * registered for Tor events, including any desired log events. */
+ _torControl->closeTorStdout();
}
/* Configure UPnP port forwarding if needed */