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.
* 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,

View File

@ -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;