aboutsummaryrefslogtreecommitdiffstats
path: root/fetchmail.c
diff options
context:
space:
mode:
Diffstat (limited to 'fetchmail.c')
-rw-r--r--fetchmail.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/fetchmail.c b/fetchmail.c
index 715e7246..dacf254b 100644
--- a/fetchmail.c
+++ b/fetchmail.c
@@ -350,6 +350,19 @@ int main (int argc, char **argv)
{
if (ctl->active && !(implicitmode && ctl->server.skip))
{
+ /* check skip interval first so that it counts all polls */
+ if (poll_interval && ctl->server.interval)
+ {
+ if (ctl->server.poll_count++ % ctl->server.interval)
+ {
+ if (outlevel == O_VERBOSE)
+ fprintf(stderr,
+ "fetchmail: interval not reached, not querying %s\n",
+ ctl->server.pollname);
+ continue;
+ }
+ }
+
#ifdef linux
/* interface_approve() does its own error logging */
if (!interface_approve(&ctl->server))
@@ -740,18 +753,6 @@ static int query_host(struct query *ctl)
{
int i, st;
- if (poll_interval && ctl->server.interval)
- {
- if (ctl->server.poll_count++ % ctl->server.interval)
- {
- if (outlevel == O_VERBOSE)
- fprintf(stderr,
- "fetchmail: interval not reached, not querying %s\n",
- ctl->server.pollname);
- return PS_NOMAIL;
- }
- }
-
if (outlevel == O_VERBOSE)
{
time_t now;