isync

mailbox synchronization program
git clone https://git.code.sf.net/p/isync/isync
Log | Files | Refs | README | LICENSE

commit dfa8c16f27559c1e010bde36ad7a3d488531f83f
parent 121448ceb9f9df03d88672917fe04506f783c76c
Author: Oswald Buddenhagen <ossi@users.sf.net>
Date:   Sat, 16 Nov 2019 17:14:32 +0100

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

Diffstat:
Msrc/socket.c | 5+++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/socket.c b/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 );