summaryrefslogtreecommitdiff
path: root/pith/stream.c
diff options
context:
space:
mode:
authorEduardo Chappa <chappa@washington.edu>2018-05-27 15:48:21 -0600
committerEduardo Chappa <chappa@washington.edu>2018-05-27 15:48:21 -0600
commit2e72300b0d571c2b319e0e5c827ddc45f011f964 (patch)
tree1ab904e5965602e4565497dd51bc3af2a46681da /pith/stream.c
parentae67ebf820817f01e77471b5bc7da9885b159bba (diff)
downloadalpine-2e72300b0d571c2b319e0e5c827ddc45f011f964.tar.xz
* Add new variable close-connection-timeout, which tells Alpine to close
a connection that is having problems being kept alive after the number of seconds configured in this variable, if the connection has not recovered. The default is 0, which means to keep the connection alive and wait for the connection to recover.
Diffstat (limited to 'pith/stream.c')
-rw-r--r--pith/stream.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/pith/stream.c b/pith/stream.c
index 92322d38..cae8dc62 100644
--- a/pith/stream.c
+++ b/pith/stream.c
@@ -2285,6 +2285,8 @@ pine_imap_cmd_happened(MAILSTREAM *stream, char *cmd, long int flags)
if(cmd && !strucmp(cmd, "CHECK"))
reset_check_point(stream);
+ ps_global->can_interrupt = 0; /* never interrupt anything */
+
if(is_imap_stream(stream)){
time_t now;
@@ -2293,6 +2295,9 @@ pine_imap_cmd_happened(MAILSTREAM *stream, char *cmd, long int flags)
sp_set_last_activity(stream, now);
if(!(flags & SC_EXPUNGEDEFERRED))
sp_set_last_expunged_reaper(stream, now);
+
+ if(cmd && !strucmp(cmd, "NOOP")) /* but can interrupt this one */
+ ps_global->can_interrupt = 1;
}
}