[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[vidalia-svn] r3776: Don't start discarding Tor's output on stdout until after Vi (vidalia/trunk/src/torcontrol)
Author: edmanm
Date: 2009-05-16 23:47:56 -0400 (Sat, 16 May 2009)
New Revision: 3776
Modified:
vidalia/trunk/src/torcontrol/TorControl.cpp
Log:
Don't start discarding Tor's output on stdout until after Vidalia has
successfully registered for log events, instead of after we've just
authenticated.
Modified: vidalia/trunk/src/torcontrol/TorControl.cpp
===================================================================
--- vidalia/trunk/src/torcontrol/TorControl.cpp 2009-05-17 03:43:53 UTC (rev 3775)
+++ vidalia/trunk/src/torcontrol/TorControl.cpp 2009-05-17 03:47:56 UTC (rev 3776)
@@ -253,11 +253,7 @@
getInfo("version", _torVersion);
/* We want to use verbose names in events and GETINFO results. */
useFeature("VERBOSE_NAMES");
-
- /* The control socket is connected, so we can stop reading from stdout */
- if (_torProcess)
- _torProcess->closeStdout();
-
+
emit authenticated();
}
@@ -617,7 +613,16 @@
setEvent(TorEvents::LogNotice, obj, filter & LogEvent::Notice, false);
setEvent(TorEvents::LogInfo , obj, filter & LogEvent::Info , false);
setEvent(TorEvents::LogDebug , obj, filter & LogEvent::Debug , false);
- return (isConnected() ? setEvents(errmsg) : true);
+
+ if (isConnected()) {
+ bool rc = setEvents(errmsg);
+ if (rc && _torProcess)
+ /* The control socket is connected and the request for log events from
+ * the control port was successful, so we can stop reading from stdout. */
+ _torProcess->closeStdout();
+ return rc;
+ }
+ return true;
}
/** Register for the events currently in the event list */