aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2003-02-28 10:58:25 +0000
committerEric S. Raymond <esr@thyrsus.com>2003-02-28 10:58:25 +0000
commit7b08e9eb937dfe13d8d4b71d5226f288cdb4a67a (patch)
treeb34990d749d16671d80f56ce273f127506f69f95
parent5283e32c823c36f7904691441c1241edde8ca7b1 (diff)
downloadfetchmail-7b08e9eb937dfe13d8d4b71d5226f288cdb4a67a.tar.gz
fetchmail-7b08e9eb937dfe13d8d4b71d5226f288cdb4a67a.tar.bz2
fetchmail-7b08e9eb937dfe13d8d4b71d5226f288cdb4a67a.zip
IDLE and CYgwin fix patch.
svn path=/trunk/; revision=3793
-rw-r--r--driver.c16
-rw-r--r--fetchmail-features.html6
2 files changed, 17 insertions, 5 deletions
diff --git a/driver.c b/driver.c
index 4a4f4d3f..50596490 100644
--- a/driver.c
+++ b/driver.c
@@ -70,9 +70,16 @@ flag peek_capable; /* can we peek for better error recovery? */
int mailserver_socket_temp = -1; /* socket to free if connect timeout */
static int timeoutcount; /* count consecutive timeouts */
+static int idletimeout; /* timeout occured in idle stage? */
static jmp_buf restart;
+int isidletimeout(void)
+/* last timeout occured in idle stage? */
+{
+ return idletimeout;
+}
+
void set_timeout(int timeleft)
/* reset the nonresponse-timeout */
{
@@ -82,6 +89,8 @@ void set_timeout(int timeleft)
if (timeleft == 0)
timeoutcount = 0;
+ idletimeout = 1;
+
ntimeout.it_interval.tv_sec = ntimeout.it_interval.tv_usec = 0;
ntimeout.it_value.tv_sec = timeleft;
ntimeout.it_value.tv_usec = 0;
@@ -92,8 +101,11 @@ void set_timeout(int timeleft)
static RETSIGTYPE timeout_handler (int signal)
/* handle SIGALRM signal indicating a server timeout */
{
- timeoutcount++;
- longjmp(restart, THROW_TIMEOUT);
+ if(stage != STAGE_IDLE) {
+ timeoutcount++;
+ longjmp(restart, THROW_TIMEOUT);
+ } else
+ idletimeout = 1;
}
static RETSIGTYPE sigpipe_handler (int signal)
diff --git a/fetchmail-features.html b/fetchmail-features.html
index 7665a42f..76baad07 100644
--- a/fetchmail-features.html
+++ b/fetchmail-features.html
@@ -18,7 +18,7 @@
<tr>
<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a></td>
<td width="30%" align="center">To <a href="/~esr/sitemap.html">Site Map</a></td>
-<td width="30%" align="right">$Date: 2002/09/09 13:59:55 $</td>
+<td width="30%" align="right">$Date: 2003/02/28 10:58:25 $</td>
</tr>
</table>
@@ -28,7 +28,7 @@
<h2>Since 5.0:</h2>
<ul>
-<li>STARTTLS is supportrf in both POP and IMAP.
+<li>STARTTLS is supported in both POP and IMAP.
<li>ESMTP AUTH (RFC 2554) is supported.</li>
@@ -280,7 +280,7 @@ be unique to fetchmail if I hadn't added it to fetchpop.)</li>
<tr>
<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a></td>
<td width="30%" align="center">To <a href="/~esr/sitemap.html">Site Map</a></td>
-<td width="30%" align="right">$Date: 2002/09/09 13:59:55 $</td>
+<td width="30%" align="right">$Date: 2003/02/28 10:58:25 $</td>
</tr>
</table>