Fixed some dial problems with mbtask
This commit is contained in:
parent
e0d54ec539
commit
5ef5398f43
@ -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,
|
||||||
|
@ -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;
|
||||||
|
Reference in New Issue
Block a user