Переглянути джерело

don't timeout while uploading big messages

we did already set up the timeout when starting to send commands, but so
far we did not reset it when succeeding to send out data. rectify that.

REFFAIL: 87sgy92we3.fsf@jnanam.net
Oswald Buddenhagen 5 роки тому
батько
коміт
dfa8c16f27
1 змінених файлів з 3 додано та 2 видалено
  1. 3 2
      src/socket.c

+ 3 - 2
src/socket.c

@@ -680,8 +680,6 @@ do_read( conn_t *sock, char *buf, int len )
 	int n;
 
 	assert( sock->fd >= 0 );
-	if (pending_wakeup( &sock->fd_timeout ))
-		conf_wakeup( &sock->fd_timeout, sock->conf->timeout );
 #ifdef HAVE_LIBSSL
 	if (sock->ssl) {
 		if ((n = ssl_return( "read from", sock, SSL_read( sock->ssl, buf, len ) )) <= 0)
@@ -1055,6 +1053,9 @@ socket_fd_cb( int events, void *aux )
 	if (events & POLLOUT)
 		conf_notifier( &conn->notify, POLLIN, 0 );
 
+	if (pending_wakeup( &conn->fd_timeout ))
+		conf_wakeup( &conn->fd_timeout, conn->conf->timeout );
+
 #ifdef HAVE_LIBSSL
 	if (conn->state == SCK_STARTTLS) {
 		start_tls_p2( conn );