Fixed some dial problems with mbtask

This commit is contained in:
Michiel Broek 2002-01-27 22:33:46 +00:00
parent e0d54ec539
commit 5ef5398f43
2 changed files with 26 additions and 15 deletions

View File

@ -44,7 +44,7 @@
/* /*
* Defines. * 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 MAXTASKS 10
#define SLOWRUN 20 #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) && 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)) { (calllist[i].addr.node == tmp->addr.node) && (calllist[i].addr.point == tmp->addr.point)) {
found = TRUE; found = TRUE;
/*
* Refresh last call status
*/
calllist[i].cst = tmp->cst;
} }
} }
if (!found) { if (!found) {
@ -1504,8 +1508,16 @@ void scheduler(void)
call_entry = 0; call_entry = 0;
else else
call_entry++; call_entry++;
tasklog('c', "Call entry rotaded to %d", call_entry); // tasklog('c', "Call entry rotaded to %d", call_entry);
if (calllist[call_entry].addr.zone && !calllist[call_entry].calling) { /*
* 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)) { if ((calllist[call_entry].callmode == CM_INET) && (runtasktype(CM_INET) < TCFG.max_tcp)) {
found = TRUE; found = TRUE;
break; break;
@ -1528,7 +1540,7 @@ void scheduler(void)
break; break;
} }
if (found) { 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 = xstrcpy(pw->pw_dir);
cmd = xstrcat(cmd, (char *)"/bin/mbcico"); cmd = xstrcat(cmd, (char *)"/bin/mbcico");
sprintf(opts, "f%u.n%u.z%u", calllist[call_entry].addr.node, calllist[call_entry].addr.net, sprintf(opts, "f%u.n%u.z%u", calllist[call_entry].addr.node, calllist[call_entry].addr.net,

View File

@ -265,15 +265,8 @@ int outstat()
tmp->flavors |= F_CALL; tmp->flavors |= F_CALL;
} }
} }
if ((tmp->flavors) & F_NORMAL) { if ((tmp->flavors) & F_NORMAL)
flstr[2]='N'; 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 ) if ((tmp->flavors) & F_HOLD )
flstr[3]='H'; flstr[3]='H';
if ((tmp->flavors) & F_FREQ ) if ((tmp->flavors) & F_FREQ )
@ -282,8 +275,15 @@ int outstat()
flstr[5]='P'; flstr[5]='P';
tmp->flavors |= F_CALL; tmp->flavors |= F_CALL;
} }
if ((tmp->flavors) & F_ISPKT ) if ((tmp->flavors) & F_ISPKT ) {
flstr[7]='M'; 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 ) if ((tmp->flavors) & F_ISFLO )
flstr[8]='F'; flstr[8]='F';
if (tmp->cst.tryno >= 30) { if (tmp->cst.tryno >= 30) {
@ -292,8 +292,7 @@ int outstat()
*/ */
tmp->flavors &= ~F_CALL; tmp->flavors &= ~F_CALL;
} }
/* Check retry timer also here */ if ((tmp->flavors) & F_CALL)
if ((tmp->flavors) & F_CALL )
flstr[9]='C'; flstr[9]='C';
if (tmp->t1) if (tmp->t1)
flstr[11] = tmp->t1; flstr[11] = tmp->t1;