Procházet zdrojové kódy

Flush long replies over control port on QUIT

Marks the control port connection for flushing before closing when
the QUIT command is issued. This allows a QUIT to be issued during
a long reply over the control port, flushing the reply and then
closing the connection. Fixes bug 1015.
Marcus Griep před 16 roky
rodič
revize
fa89c9f086
1 změnil soubory, kde provedl 1 přidání a 0 odebrání
  1. 1 0
      src/or/control.c

+ 1 - 0
src/or/control.c

@@ -2892,6 +2892,7 @@ connection_control_process_inbuf(control_connection_t *conn)
   if (!strcasecmp(conn->incoming_cmd, "QUIT")) {
     connection_write_str_to_buf("250 closing connection\r\n", conn);
     connection_mark_for_close(TO_CONN(conn));
+    conn->_base.hold_open_until_flushed = 1;
     return 0;
   }