1
0
mirror of https://github.com/Llewellynvdm/conky.git synced 2025-02-05 21:48:33 +00:00

Fix bug where IMAP doesn't refresh counts after IDLE timeout.

This commit is contained in:
Brenden Matthews 2010-06-18 16:09:11 -07:00
parent 8b53d902d3
commit cf870c1c6c

View File

@ -798,11 +798,13 @@ static void *imap_thread(void *arg)
*/ */
fetchtimeout.tv_sec = 600; fetchtimeout.tv_sec = 600;
fetchtimeout.tv_usec = 0; fetchtimeout.tv_usec = 0;
DBGP2("idling..."); DBGP("idling...");
FD_ZERO(&fdset); FD_ZERO(&fdset);
FD_SET(sockfd, &fdset); FD_SET(sockfd, &fdset);
FD_SET(threadfd, &fdset); FD_SET(threadfd, &fdset);
res = select(MAX(sockfd + 1, threadfd + 1), &fdset, NULL, NULL, &fetchtimeout); res = select(MAX(sockfd + 1, threadfd + 1), &fdset, NULL,
NULL, &fetchtimeout);
DBGP("done idling");
if (timed_thread_test(mail->p_timed_thread, 1) || (res == -1 && errno == EINTR) || FD_ISSET(threadfd, &fdset)) { if (timed_thread_test(mail->p_timed_thread, 1) || (res == -1 && errno == EINTR) || FD_ISSET(threadfd, &fdset)) {
if ((fstat(sockfd, &stat_buf) == 0) && S_ISSOCK(stat_buf.st_mode)) { if ((fstat(sockfd, &stat_buf) == 0) && S_ISSOCK(stat_buf.st_mode)) {
/* if a valid socket, close it */ /* if a valid socket, close it */
@ -815,9 +817,6 @@ static void *imap_thread(void *arg)
fail++; fail++;
break; break;
} }
} else if (fetchtimeout.tv_sec > 0) {
fail++;
break;
} }
recvbuf[numbytes] = '\0'; recvbuf[numbytes] = '\0';
DBGP2("imap_thread() received: %s", recvbuf); DBGP2("imap_thread() received: %s", recvbuf);