summaryrefslogtreecommitdiff
path: root/alpine/imap.c
diff options
context:
space:
mode:
Diffstat (limited to 'alpine/imap.c')
-rw-r--r--alpine/imap.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/alpine/imap.c b/alpine/imap.c
index 074b9f6d..fa5f94a5 100644
--- a/alpine/imap.c
+++ b/alpine/imap.c
@@ -1223,6 +1223,7 @@ pine_tcptimeout_noscreen(long int elapsed, long int sincelast, char *host)
}
}
+ ps_global->tcptimeout = 0;
return(rv);
}
@@ -1243,6 +1244,7 @@ pine_tcptimeout(long int elapsed, long int sincelast, char *host)
long rv = 1L; /* keep trying by default */
unsigned long ch;
+ ps_global->tcptimeout = 1;
#ifdef DEBUG
dprint((1, "tcptimeout: waited %s seconds\n",
long2string(elapsed)));
@@ -1282,7 +1284,8 @@ pine_tcptimeout(long int elapsed, long int sincelast, char *host)
fflush(stdout);
flush_input();
ch = read_char(7);
- if(ch == 'y' || ch == 'Y'){
+ if(ps_global->read_bail || ch == 'y' || ch == 'Y'){
+ ps_global->read_bail = 0;
ps_global->user_says_cancel = 1;
rv = 0L;
}
@@ -1303,6 +1306,7 @@ pine_tcptimeout(long int elapsed, long int sincelast, char *host)
mark_status_dirty(); /* make sure it get's cleared */
resume_busy_cue((rv == 1) ? 3 : 0);
+ ps_global->tcptimeout = 0;
return(rv);
}