Made mbtask more relaxed
This commit is contained in:
parent
3969db7a22
commit
2ce85589e4
@ -4350,12 +4350,15 @@ v0.33.19 26-Oct-2001
|
|||||||
option is set for the remote node in the setup.
|
option is set for the remote node in the setup.
|
||||||
The hydra driver now sends 8.3 mangled filenames and long
|
The hydra driver now sends 8.3 mangled filenames and long
|
||||||
filenames as specified in the specs.
|
filenames as specified in the specs.
|
||||||
|
Corrected the location of the modem lockfile on FreeBSD.
|
||||||
|
|
||||||
mbtask:
|
mbtask:
|
||||||
Changed to handle the External Doors flag in the lastcaller
|
Changed to handle the External Doors flag in the lastcaller
|
||||||
information.
|
information.
|
||||||
On new systems, ~/etc/config.data and ~/etc/task.data are
|
On new systems, ~/etc/config.data and ~/etc/task.data are
|
||||||
created with mode 0640.
|
created with mode 0640.
|
||||||
|
Starting utilities is now more relaxed using a 3 seconds
|
||||||
|
pause timer. Fixed some potential Sparc problems.
|
||||||
|
|
||||||
mbmon:
|
mbmon:
|
||||||
Changed the lastcaller screen to display the External Door
|
Changed the lastcaller screen to display the External Door
|
||||||
|
@ -47,6 +47,7 @@
|
|||||||
*/
|
*/
|
||||||
#define MAXTASKS 10
|
#define MAXTASKS 10
|
||||||
#define SLOWRUN 20
|
#define SLOWRUN 20
|
||||||
|
#define PAUSETIME 3
|
||||||
#define TMPNAME "TMP."
|
#define TMPNAME "TMP."
|
||||||
#define LCKNAME "LOCKTASK"
|
#define LCKNAME "LOCKTASK"
|
||||||
#define ICMP_BASEHDR_LEN 8
|
#define ICMP_BASEHDR_LEN 8
|
||||||
@ -101,6 +102,8 @@ int pingnr = 1; /* Ping #, 1 or 2 */
|
|||||||
int pingresult[2]; /* Ping results */
|
int pingresult[2]; /* Ping results */
|
||||||
char pingaddress[41]; /* Ping current address */
|
char pingaddress[41]; /* Ping current address */
|
||||||
int masterinit = FALSE; /* Master init needed */
|
int masterinit = FALSE; /* Master init needed */
|
||||||
|
int ptimer = PAUSETIME; /* Pause timer */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -452,7 +455,7 @@ void load_taskcfg(void)
|
|||||||
/*
|
/*
|
||||||
* Launch an external program in the background.
|
* Launch an external program in the background.
|
||||||
* On success add it to the tasklist and return
|
* On success add it to the tasklist and return
|
||||||
* the pid.
|
* the pid. Set the pause timer.
|
||||||
*/
|
*/
|
||||||
pid_t launch(char *cmd, char *opts, char *name, int tasktype)
|
pid_t launch(char *cmd, char *opts, char *name, int tasktype)
|
||||||
{
|
{
|
||||||
@ -531,6 +534,8 @@ pid_t launch(char *cmd, char *opts, char *name, int tasktype)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ptimer = PAUSETIME;
|
||||||
|
|
||||||
if (opts)
|
if (opts)
|
||||||
tasklog('+', "Launch: task %d \"%s %s\" success, pid=%d", i, cmd, opts, pid);
|
tasklog('+', "Launch: task %d \"%s %s\" success, pid=%d", i, cmd, opts, pid);
|
||||||
else
|
else
|
||||||
@ -580,6 +585,7 @@ int checktasks(int onsig)
|
|||||||
task[i].running = FALSE;
|
task[i].running = FALSE;
|
||||||
if (task[i].tasktype == CALL_POTS || task[i].tasktype == CALL_ISDN || task[i].tasktype == CALL_IP)
|
if (task[i].tasktype == CALL_POTS || task[i].tasktype == CALL_ISDN || task[i].tasktype == CALL_IP)
|
||||||
do_outstat = TRUE;
|
do_outstat = TRUE;
|
||||||
|
ptimer = PAUSETIME;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (first && task[i].rc) {
|
if (first && task[i].rc) {
|
||||||
@ -1037,7 +1043,7 @@ void scheduler(void)
|
|||||||
{
|
{
|
||||||
struct passwd *pw;
|
struct passwd *pw;
|
||||||
int running = 0, rc, rlen;
|
int running = 0, rc, rlen;
|
||||||
int LOADhi = FALSE, oldmin = 70, olddo = 70;
|
static int LOADhi = FALSE, oldmin = 70, olddo = 70, oldsec = 70;
|
||||||
char *cmd = NULL;
|
char *cmd = NULL;
|
||||||
static char doing[32], buf[2048];
|
static char doing[32], buf[2048];
|
||||||
time_t now;
|
time_t now;
|
||||||
@ -1053,11 +1059,11 @@ void scheduler(void)
|
|||||||
* Registrate this server for mbmon in slot 0.
|
* Registrate this server for mbmon in slot 0.
|
||||||
*/
|
*/
|
||||||
reginfo[0].pid = getpid();
|
reginfo[0].pid = getpid();
|
||||||
sprintf(reginfo[0].tty, "-");
|
strcpy(reginfo[0].tty, "-");
|
||||||
sprintf(reginfo[0].uname, "mbse");
|
strcpy(reginfo[0].uname, "mbse");
|
||||||
sprintf(reginfo[0].prg, "mbtask");
|
strcpy(reginfo[0].prg, "mbtask");
|
||||||
sprintf(reginfo[0].city, "localhost");
|
strcpy(reginfo[0].city, "localhost");
|
||||||
sprintf(reginfo[0].doing, "Start");
|
strcpy(reginfo[0].doing, "Start");
|
||||||
reginfo[0].started = time(NULL);
|
reginfo[0].started = time(NULL);
|
||||||
|
|
||||||
Processing = TRUE;
|
Processing = TRUE;
|
||||||
@ -1136,7 +1142,7 @@ void scheduler(void)
|
|||||||
check_sema();
|
check_sema();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check the systems load average.
|
* Check the systems load average. FIXME: doesn't work in FreeBSD !!!
|
||||||
*/
|
*/
|
||||||
if ((fp = fopen((char *)"/proc/loadavg", "r"))) {
|
if ((fp = fopen((char *)"/proc/loadavg", "r"))) {
|
||||||
if (fscanf(fp, "%f %f %f", &lavg1, &lavg2, &lavg3) == 3) {
|
if (fscanf(fp, "%f %f %f", &lavg1, &lavg2, &lavg3) == 3) {
|
||||||
@ -1196,6 +1202,18 @@ void scheduler(void)
|
|||||||
|
|
||||||
if (s_bbsopen && !UPSalarm && !LOADhi) {
|
if (s_bbsopen && !UPSalarm && !LOADhi) {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Check Pause Timer, make sure it's only checked
|
||||||
|
* once each second.
|
||||||
|
*/
|
||||||
|
if (tm->tm_sec != oldsec) {
|
||||||
|
oldsec = tm->tm_sec;
|
||||||
|
if (ptimer) {
|
||||||
|
ptimer--;
|
||||||
|
tasklog('t', "Set ptimer to %d", ptimer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!Processing) {
|
if (!Processing) {
|
||||||
tasklog('+', "Resuming normal operations");
|
tasklog('+', "Resuming normal operations");
|
||||||
Processing = TRUE;
|
Processing = TRUE;
|
||||||
@ -1204,19 +1222,19 @@ void scheduler(void)
|
|||||||
/*
|
/*
|
||||||
* Here we run all normal operations.
|
* Here we run all normal operations.
|
||||||
*/
|
*/
|
||||||
if (s_mailout && (!runtasktype(MBFIDO))) {
|
if (s_mailout && (!ptimer) && (!runtasktype(MBFIDO))) {
|
||||||
launch(TCFG.cmd_mailout, NULL, (char *)"mailout", MBFIDO);
|
launch(TCFG.cmd_mailout, NULL, (char *)"mailout", MBFIDO);
|
||||||
running = checktasks(0);
|
running = checktasks(0);
|
||||||
s_mailout = FALSE;
|
s_mailout = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (s_mailin && (!runtasktype(MBFIDO))) {
|
if (s_mailin && (!ptimer) && (!runtasktype(MBFIDO))) {
|
||||||
launch(TCFG.cmd_mailin, NULL, (char *)"mailin", MBFIDO);
|
launch(TCFG.cmd_mailin, NULL, (char *)"mailin", MBFIDO);
|
||||||
running = checktasks(0);
|
running = checktasks(0);
|
||||||
s_mailin = FALSE;
|
s_mailin = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (s_newnews && (!runtasktype(MBFIDO))) {
|
if (s_newnews && (!ptimer) && (!runtasktype(MBFIDO))) {
|
||||||
launch(TCFG.cmd_newnews, NULL, (char *)"newnews", MBFIDO);
|
launch(TCFG.cmd_newnews, NULL, (char *)"newnews", MBFIDO);
|
||||||
running = checktasks(0);
|
running = checktasks(0);
|
||||||
s_newnews = FALSE;
|
s_newnews = FALSE;
|
||||||
@ -1228,7 +1246,7 @@ void scheduler(void)
|
|||||||
* new lists. If more then one compiler is defined,
|
* new lists. If more then one compiler is defined,
|
||||||
* start them in parallel.
|
* start them in parallel.
|
||||||
*/
|
*/
|
||||||
if (s_index && (!running)) {
|
if (s_index && (!ptimer) && (!running)) {
|
||||||
if (strlen(TCFG.cmd_mbindex1))
|
if (strlen(TCFG.cmd_mbindex1))
|
||||||
launch(TCFG.cmd_mbindex1, NULL, (char *)"compiler 1", MBINDEX);
|
launch(TCFG.cmd_mbindex1, NULL, (char *)"compiler 1", MBINDEX);
|
||||||
if (strlen(TCFG.cmd_mbindex2))
|
if (strlen(TCFG.cmd_mbindex2))
|
||||||
@ -1243,7 +1261,7 @@ void scheduler(void)
|
|||||||
* Linking messages is also only done when there is
|
* Linking messages is also only done when there is
|
||||||
* nothing else to do.
|
* nothing else to do.
|
||||||
*/
|
*/
|
||||||
if (s_msglink && (!running)) {
|
if (s_msglink && (!ptimer) && (!running)) {
|
||||||
launch(TCFG.cmd_msglink, NULL, (char *)"msglink", MBFIDO);
|
launch(TCFG.cmd_msglink, NULL, (char *)"msglink", MBFIDO);
|
||||||
running = checktasks(0);
|
running = checktasks(0);
|
||||||
s_msglink = FALSE;
|
s_msglink = FALSE;
|
||||||
@ -1252,7 +1270,7 @@ void scheduler(void)
|
|||||||
/*
|
/*
|
||||||
* Creating filerequest indexes.
|
* Creating filerequest indexes.
|
||||||
*/
|
*/
|
||||||
if (s_reqindex && (!running)) {
|
if (s_reqindex && (!ptimer) && (!running)) {
|
||||||
launch(TCFG.cmd_reqindex, NULL, (char *)"reqindex", MBFILE);
|
launch(TCFG.cmd_reqindex, NULL, (char *)"reqindex", MBFILE);
|
||||||
running = checktasks(0);
|
running = checktasks(0);
|
||||||
s_reqindex = FALSE;
|
s_reqindex = FALSE;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
*
|
*
|
||||||
* File ..................: mbtask/outstat.c
|
* $Id$
|
||||||
* Purpose ...............: Scan mail outbound status
|
* Purpose ...............: mbtask - Scan mail outbound status
|
||||||
* Last modification date : 08-Jul-2001
|
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2001
|
* Copyright (C) 1997-2001
|
||||||
@ -157,7 +156,7 @@ int each(faddr *addr, char flavor, int isflo, char *fname)
|
|||||||
(*tmp)->diflags = 0L;
|
(*tmp)->diflags = 0L;
|
||||||
(*tmp)->ipflags = 0L;
|
(*tmp)->ipflags = 0L;
|
||||||
}
|
}
|
||||||
time(&((*tmp)->time));
|
(*tmp)->time = time(NULL);
|
||||||
(*tmp)->size = 0L;
|
(*tmp)->size = 0L;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -179,7 +178,7 @@ int each(faddr *addr, char flavor, int isflo, char *fname)
|
|||||||
if (stat(fname,&st) != 0) {
|
if (stat(fname,&st) != 0) {
|
||||||
tasklog('?', "$Can't stat %s", fname);
|
tasklog('?', "$Can't stat %s", fname);
|
||||||
st.st_size = 0L;
|
st.st_size = 0L;
|
||||||
(void)time(&st.st_mtime);
|
st.st_mtime = time(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -211,12 +210,12 @@ int each(faddr *addr, char flavor, int isflo, char *fname)
|
|||||||
* is losing mail or files.
|
* is losing mail or files.
|
||||||
*/
|
*/
|
||||||
st.st_size = 0L;
|
st.st_size = 0L;
|
||||||
(void)time(&st.st_mtime);
|
st.st_mtime = time(NULL);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (stat(p, &st) != 0) {
|
if (stat(p, &st) != 0) {
|
||||||
st.st_size = 0L;
|
st.st_size = 0L;
|
||||||
(void)time(&st.st_mtime);
|
st.st_mtime = time(NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
*
|
*
|
||||||
* File ..................: mbtask/taskutil.c
|
* $Id$
|
||||||
* Purpose ...............: MBSE BBS Task Manager, utilities
|
* Purpose ...............: MBSE BBS Task Manager, utilities
|
||||||
* Last modification date : 06-Jul-2001
|
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2001
|
* Copyright (C) 1997-2001
|
||||||
@ -396,7 +395,7 @@ char *dayname(void)
|
|||||||
struct tm *ptm;
|
struct tm *ptm;
|
||||||
static char buf[3];
|
static char buf[3];
|
||||||
|
|
||||||
(void)time(&tt);
|
tt = time(NULL);
|
||||||
ptm = localtime(&tt);
|
ptm = localtime(&tt);
|
||||||
sprintf(buf, "%s", dow[ptm->tm_wday]);
|
sprintf(buf, "%s", dow[ptm->tm_wday]);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user