When the clock jumps, Tor will trigger CIRCUIT_ESTABLISHED
When Tor detects that the clock has jumped, it will destroy existing circuits and create new ones (or/circuitbuild.c:737).
Once Tor has created new circuits, it will trigger the same events as would happen if Tor had established its first circuit, including sending the CIRCUIT_ESTABLISHED control event and BOOTSTRAP_STATUS_DONE bootstrap event (or/circuitbuild.c:682)
Vidalia/Tor Browser Bundle uses CIRCUIT_ESTABLISHED to launch Firefox and Pidgin. So when this scenario occurs, there will the two instances running. This would be confusing to users.
I'm not sure whether this is best fixed in Vidalia or Tor.
The specification on CIRCUIT_ESTABLISHED is not very clear on whether it should be generated multiple times.
"Tor is able to establish circuits for client use. This event will
only be sent if we just built a circuit that changed our mind --
that is, prior to this event we didn't know whether we could
establish circuits."
Proposal 137 indicates that currently Tor does not send BOOTSTRAP_STATUS_DONE more than once (although "monotonically" could be interpreted as monotonically non-decreasing rather than monotonically increasing.
"Current Tor versions enter these phases in order, monotonically; future Tors MAY revisit earlier stages."
[Automatically added by flyspray2trac: Operating System: All]