From 5ef5398f43fffd7368517faf05d5e5a4de1dfa1b Mon Sep 17 00:00:00 2001 From: Michiel Broek Date: Sun, 27 Jan 2002 22:33:46 +0000 Subject: [PATCH] Fixed some dial problems with mbtask --- mbtask/mbtask.c | 20 ++++++++++++++++---- mbtask/outstat.c | 21 ++++++++++----------- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/mbtask/mbtask.c b/mbtask/mbtask.c index 15313e49..0c810a99 100644 --- a/mbtask/mbtask.c +++ b/mbtask/mbtask.c @@ -44,7 +44,7 @@ /* * Defines. - * SLOWRUN is number of seconds for mailer calls. Use between 5 and 30. + * SLOWRUN is number of seconds for scheduling mailer calls. Leave at 20! */ #define MAXTASKS 10 #define SLOWRUN 20 @@ -505,6 +505,10 @@ int check_calllist(void) if ((calllist[i].addr.zone == tmp->addr.zone) && (calllist[i].addr.net == tmp->addr.net) && (calllist[i].addr.node == tmp->addr.node) && (calllist[i].addr.point == tmp->addr.point)) { found = TRUE; + /* + * Refresh last call status + */ + calllist[i].cst = tmp->cst; } } if (!found) { @@ -1504,8 +1508,16 @@ void scheduler(void) call_entry = 0; else call_entry++; - tasklog('c', "Call entry rotaded to %d", call_entry); - if (calllist[call_entry].addr.zone && !calllist[call_entry].calling) { +// tasklog('c', "Call entry rotaded to %d", call_entry); + /* + * If a valid entry, and not yet calling, and the retry time is reached, + * then launch a callprocess for this node. + */ +// if (calllist[call_entry].addr.zone && !calllist[call_entry].calling) { +// tasklog('o', "trytime %lu, now %lu", calllist[call_entry].cst.trytime, now); +// } + if (calllist[call_entry].addr.zone && !calllist[call_entry].calling && + (calllist[call_entry].cst.trytime < now)) { if ((calllist[call_entry].callmode == CM_INET) && (runtasktype(CM_INET) < TCFG.max_tcp)) { found = TRUE; break; @@ -1528,7 +1540,7 @@ void scheduler(void) break; } if (found) { - tasklog('c', "Should launch slot %d node %s", call_entry, ascfnode(calllist[call_entry].addr, 0x1f)); +// tasklog('c', "Should launch slot %d node %s", call_entry, ascfnode(calllist[call_entry].addr, 0x1f)); cmd = xstrcpy(pw->pw_dir); cmd = xstrcat(cmd, (char *)"/bin/mbcico"); sprintf(opts, "f%u.n%u.z%u", calllist[call_entry].addr.node, calllist[call_entry].addr.net, diff --git a/mbtask/outstat.c b/mbtask/outstat.c index ecf0a93a..9049af65 100644 --- a/mbtask/outstat.c +++ b/mbtask/outstat.c @@ -265,15 +265,8 @@ int outstat() tmp->flavors |= F_CALL; } } - if ((tmp->flavors) & F_NORMAL) { + if ((tmp->flavors) & F_NORMAL) flstr[2]='N'; - /* - * Normal mail, send during ZMH or if node has a Txx window. - */ - if (iszmh || T_window) { - tmp->flavors |= F_CALL; - } - } if ((tmp->flavors) & F_HOLD ) flstr[3]='H'; if ((tmp->flavors) & F_FREQ ) @@ -282,8 +275,15 @@ int outstat() flstr[5]='P'; tmp->flavors |= F_CALL; } - if ((tmp->flavors) & F_ISPKT ) + if ((tmp->flavors) & F_ISPKT ) { flstr[7]='M'; + /* + * Normal mail, send during ZMH or if node has a Txx window. + */ + if (iszmh || T_window) { + tmp->flavors |= F_CALL; + } + } if ((tmp->flavors) & F_ISFLO ) flstr[8]='F'; if (tmp->cst.tryno >= 30) { @@ -292,8 +292,7 @@ int outstat() */ tmp->flavors &= ~F_CALL; } - /* Check retry timer also here */ - if ((tmp->flavors) & F_CALL ) + if ((tmp->flavors) & F_CALL) flstr[9]='C'; if (tmp->t1) flstr[11] = tmp->t1;