diff options
author | Eric S. Raymond <esr@thyrsus.com> | 1996-12-26 18:56:47 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 1996-12-26 18:56:47 +0000 |
commit | 9e6cbca366809d2da3273ba76e22b1b195ac0428 (patch) | |
tree | 46695fedffcca49117e62d84c6ed76ed875e30d4 | |
parent | 377570143098232bbbe0edd493b55ceb7e4d1fe4 (diff) | |
download | fetchmail-9e6cbca366809d2da3273ba76e22b1b195ac0428.tar.gz fetchmail-9e6cbca366809d2da3273ba76e22b1b195ac0428.tar.bz2 fetchmail-9e6cbca366809d2da3273ba76e22b1b195ac0428.zip |
Support interface check in foreground as well as daemon mode.
svn path=/trunk/; revision=697
-rw-r--r-- | fetchmail.c | 20 | ||||
-rw-r--r-- | interface.c | 2 |
2 files changed, 13 insertions, 9 deletions
diff --git a/fetchmail.c b/fetchmail.c index 61bafc4c..7952523d 100644 --- a/fetchmail.c +++ b/fetchmail.c @@ -335,6 +335,13 @@ int main (int argc, char **argv) * reflect the status of that transaction. */ do { +#ifdef linux + if (poll_interval && monitor) + sleep(3); /* allow some time for the link to quiesce */ + + interface_note_activity(); +#endif + if (poll_interval) { if (outlevel == O_VERBOSE) @@ -351,10 +358,6 @@ int main (int argc, char **argv) * We'll just assume setitimer(2) is available since fetchmail * has to have a BSDoid socket layer to work at all. */ -#ifdef linux - do { - interface_note_activity(); -#endif { struct itimerval ntimeout; @@ -370,9 +373,6 @@ int main (int argc, char **argv) (void) error(0, 0, "awakened by SIGUSR1"); } } -#ifdef linux - } while (!interface_approve()); -#endif if (outlevel == O_VERBOSE) { @@ -383,6 +383,12 @@ int main (int argc, char **argv) } } + +#ifdef linux + if (!interface_approve()) + continue; +#endif + #ifdef HAVE_RES_SEARCH sethostent(TRUE); /* use TCP/IP for mailserver queries */ #endif /* HAVE_RES_SEARCH */ diff --git a/interface.c b/interface.c index 39b39922..20d5e8ca 100644 --- a/interface.c +++ b/interface.c @@ -144,8 +144,6 @@ void interface_note_activity(void) { ifinfo_t ifinfo; - sleep(3); /* allow some time for the link to quiesce */ - /* get the current I/O stats for the monitored link */ if (monitor && get_ifinfo(monitor, &ifinfo)) monitor_io = ifinfo.rx_packets + ifinfo.tx_packets; |