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.
This commit is contained in:
Marcus Griep 2009-06-23 23:09:27 -04:00
parent b91428cfd3
commit fa89c9f086

View File

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