core/mainloop: more comments documenting connection.c

This commit is contained in:
cypherpunks 2018-08-27 01:32:34 +00:00
parent 309961138b
commit 0cd72a2833

View File

@ -3571,7 +3571,8 @@ connection_buf_read_from_socket(connection_t *conn, ssize_t *max_to_read,
* waiting for a TLS renegotiation, the renegotiation started, and * waiting for a TLS renegotiation, the renegotiation started, and
* SSL_read returned WANTWRITE. But now SSL_read is saying WANTREAD * SSL_read returned WANTWRITE. But now SSL_read is saying WANTREAD
* again. Stop waiting for write events now, or else we'll * again. Stop waiting for write events now, or else we'll
* busy-loop until data arrives for us to read. */ * busy-loop until data arrives for us to read.
* XXX: remove this when v2 handshakes support is dropped. */
connection_stop_writing(conn); connection_stop_writing(conn);
if (!connection_is_reading(conn)) if (!connection_is_reading(conn))
connection_start_reading(conn); connection_start_reading(conn);
@ -4028,6 +4029,9 @@ connection_handle_write(connection_t *conn, int force)
{ {
int res; int res;
update_current_time(time(NULL)); update_current_time(time(NULL));
/* connection_handle_write_impl() might call connection_handle_read()
* if we're in the middle of a v2 handshake, in which case it needs this
* flag set. */
conn->in_connection_handle_write = 1; conn->in_connection_handle_write = 1;
res = connection_handle_write_impl(conn, force); res = connection_handle_write_impl(conn, force);
conn->in_connection_handle_write = 0; conn->in_connection_handle_write = 0;