[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 */