Push the server and option code down to reduce dependency loops
This commit is contained in:
33
SICSmain.c
33
SICSmain.c
@ -24,12 +24,6 @@
|
|||||||
#include "nserver.h"
|
#include "nserver.h"
|
||||||
#include "servlog.h"
|
#include "servlog.h"
|
||||||
|
|
||||||
/***************************** Necessary Globals ****************************/
|
|
||||||
|
|
||||||
IPair *pSICSOptions = NULL;
|
|
||||||
pServer pServ = NULL;
|
|
||||||
const char *argv0;
|
|
||||||
|
|
||||||
/* ========================= Less dreadful file statics =================== */
|
/* ========================= Less dreadful file statics =================== */
|
||||||
|
|
||||||
#define DEFAULTINIFILE "servo.tcl"
|
#define DEFAULTINIFILE "servo.tcl"
|
||||||
@ -53,6 +47,8 @@ int main(int argc, char *argv[])
|
|||||||
int daemonize = 0;
|
int daemonize = 0;
|
||||||
char *file = NULL;
|
char *file = NULL;
|
||||||
int i, firstArg = 1;
|
int i, firstArg = 1;
|
||||||
|
extern const char *argv0;
|
||||||
|
extern pServer pServ;
|
||||||
|
|
||||||
argv0 = argv[0];
|
argv0 = argv[0];
|
||||||
if (argc < 2)
|
if (argc < 2)
|
||||||
@ -101,28 +97,3 @@ int main(int argc, char *argv[])
|
|||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
SicsInterp *GetInterpreter(void)
|
|
||||||
{
|
|
||||||
return pServ->pSics;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
pExeList GetExecutor(void)
|
|
||||||
{
|
|
||||||
return pServ->pExecutor;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------*/
|
|
||||||
void StopExit(void)
|
|
||||||
{
|
|
||||||
if (pServ) {
|
|
||||||
StopServer(pServ);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------*/
|
|
||||||
pTaskMan GetTasker(void)
|
|
||||||
{
|
|
||||||
return pServ->pTasker;
|
|
||||||
}
|
|
||||||
|
1
ifile.c
1
ifile.c
@ -47,6 +47,7 @@
|
|||||||
#include "ifile.h"
|
#include "ifile.h"
|
||||||
|
|
||||||
/*====================== Locals ============================================*/
|
/*====================== Locals ============================================*/
|
||||||
|
IPair *pSICSOptions = NULL;
|
||||||
|
|
||||||
static IPair *CreateNewEntry(char *name, char *val, IPair * pN)
|
static IPair *CreateNewEntry(char *name, char *val, IPair * pN)
|
||||||
{
|
{
|
||||||
|
30
nserver.c
30
nserver.c
@ -44,13 +44,19 @@ int ServerSetupInterrupt(int iPort, pNetRead pNet, pTaskMan pTasker);
|
|||||||
configures a port for listening for interrupts
|
configures a port for listening for interrupts
|
||||||
*/
|
*/
|
||||||
|
|
||||||
extern void StopExit(void); /* in SICSmain.c */
|
|
||||||
|
|
||||||
extern int openDevexecLog(); /* in devexec.c */
|
extern int openDevexecLog(); /* in devexec.c */
|
||||||
|
|
||||||
extern int NetWatchTask(void *pData); /* in nwatch.c */
|
extern int NetWatchTask(void *pData); /* in nwatch.c */
|
||||||
/* ========================= Less dreadful file statics =================== */
|
/* ========================= Less dreadful file statics =================== */
|
||||||
|
|
||||||
|
/*------------------------------------------------------------------------*/
|
||||||
|
static void StopExit(void)
|
||||||
|
{
|
||||||
|
if (pServ) {
|
||||||
|
StopServer(pServ);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#define DEFAULTINIFILE "servo.tcl"
|
#define DEFAULTINIFILE "servo.tcl"
|
||||||
#define DEFAULTSTATUSFILE "sicsstat.tcl"
|
#define DEFAULTSTATUSFILE "sicsstat.tcl"
|
||||||
#define INIT(F) { void F(void); F(); }
|
#define INIT(F) { void F(void); F(); }
|
||||||
@ -510,3 +516,23 @@ int ServerIsStarting(pServer self)
|
|||||||
{
|
{
|
||||||
return self->pReader == NULL;
|
return self->pReader == NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pServer pServ = NULL;
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------*/
|
||||||
|
SicsInterp *GetInterpreter(void)
|
||||||
|
{
|
||||||
|
return pServ->pSics;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------*/
|
||||||
|
pExeList GetExecutor(void)
|
||||||
|
{
|
||||||
|
return pServ->pExecutor;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*-------------------------------------------------------------------------*/
|
||||||
|
pTaskMan GetTasker(void)
|
||||||
|
{
|
||||||
|
return pServ->pTasker;
|
||||||
|
}
|
||||||
|
4
sicsglobal.c
Normal file
4
sicsglobal.c
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
/***************************** Necessary Globals ****************************/
|
||||||
|
|
||||||
|
const char *argv0 = (void*) 0;
|
||||||
|
|
@ -17,7 +17,7 @@ SOBJ = alias.o anticollider.o arrayutil.o ascon.o asyncprotocol.o asyncqueue.o a
|
|||||||
passwd.o perfmon.o polldriv.o protocol.o proxy.o reflist.o regresscter.o remob.o \
|
passwd.o perfmon.o polldriv.o protocol.o proxy.o reflist.o regresscter.o remob.o \
|
||||||
rmtrail.o rs232controller.o rwpuffer.o sansbc.o savehdb.o scaldate.o scan.o scanvar.o SCinter.o \
|
rmtrail.o rs232controller.o rwpuffer.o sansbc.o savehdb.o scaldate.o scan.o scanvar.o SCinter.o \
|
||||||
scriptcontext.o script.o sctdriveadapter.o sctdriveobj.o sdynar.o selector.o \
|
scriptcontext.o script.o sctdriveadapter.o sctdriveobj.o sdynar.o selector.o \
|
||||||
selvar.o servlog.o sgclib.o sghkl.o sgio.o sicscron.o sicsdata.o sicsexit.o sicshdbadapter.o \
|
selvar.o servlog.o sgclib.o sghkl.o sgio.o sicscron.o sicsdata.o sicsexit.o sicsglobal.o sicshdbadapter.o \
|
||||||
sicshdbfactory.o sicshipadaba.o sicslist.o SICSmain.o sicsobj.o sicspoll.o sicsutil.o \
|
sicshdbfactory.o sicshipadaba.o sicslist.o SICSmain.o sicsobj.o sicspoll.o sicsutil.o \
|
||||||
sicvar.o sig_die.o simchop.o simev.o simidx.o simindex.o sinfox.o singlebi.o singlediff.o singlenb.o singlebinb.o singletas.o singlex.o splitter.o s_rnge.o statemon.o \
|
sicvar.o sig_die.o simchop.o simev.o simidx.o simindex.o sinfox.o singlebi.o singlediff.o singlenb.o singlebinb.o singletas.o singlex.o splitter.o s_rnge.o statemon.o \
|
||||||
statistics.o statusfile.o status.o stdscan.o stptok.o stringdict.o strlutil.o strrepl.o \
|
statistics.o statusfile.o status.o stdscan.o stptok.o stringdict.o strlutil.o strrepl.o \
|
||||||
|
Reference in New Issue
Block a user