[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[vidalia-svn] r3777: Backport r3776. (in vidalia/branches/vidalia-0.1: . src/torcontrol)
Author: edmanm
Date: 2009-05-17 00:18:13 -0400 (Sun, 17 May 2009)
New Revision: 3777
Modified:
vidalia/branches/vidalia-0.1/CHANGELOG
vidalia/branches/vidalia-0.1/src/torcontrol/torcontrol.cpp
Log:
Backport r3776.
Modified: vidalia/branches/vidalia-0.1/CHANGELOG
===================================================================
--- vidalia/branches/vidalia-0.1/CHANGELOG 2009-05-17 03:47:56 UTC (rev 3776)
+++ vidalia/branches/vidalia-0.1/CHANGELOG 2009-05-17 04:18:13 UTC (rev 3777)
@@ -15,6 +15,11 @@
trick on Debian there too.
o If a RouterDescriptor object is empty, don't try to display it in the
router descriptor details viewer. (Ticket #479)
+ o Wait until Vidalia has registered for log events via the control port
+ before ignoring Tor's output on stdout. Previously we would start
+ ignoring Tor's stdout after successfully authenticating, but before
+ registering for log events which, in some cases, could lead to
+ messages not appearing in the message log.
0.1.12 16-Mar-2009
Modified: vidalia/branches/vidalia-0.1/src/torcontrol/torcontrol.cpp
===================================================================
--- vidalia/branches/vidalia-0.1/src/torcontrol/torcontrol.cpp 2009-05-17 03:47:56 UTC (rev 3776)
+++ vidalia/branches/vidalia-0.1/src/torcontrol/torcontrol.cpp 2009-05-17 04:18:13 UTC (rev 3777)
@@ -282,11 +282,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();
}
@@ -646,7 +642,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 */
Property changes on: vidalia/branches/vidalia-0.1/src/torcontrol/torcontrol.cpp
___________________________________________________________________
Added: svn:mergeinfo
+ /vidalia/trunk/cmake/src/torcontrol/torcontrol.cpp:3745
/vidalia/trunk/src/torcontrol/TorControl.cpp:3776
/vidalia/trunk/src/torcontrol/torcontrol.cpp:3235,3482,3504-3505,3516-3517,3519-3520,3522,3524-3526,3528,3530,3732,3740,3745