- Added Sycamore protocol and command context to SICS
- Added sinfo to SICS - Added driver for TCP/IP Astrium velocity selector - Added driver for TCP/IP Astrium chopper controller SKIPPED: psi/amor2t.c psi/amorstat.c psi/dornier2.c psi/ecb.c psi/el734hp.c psi/fowrite.c psi/libpsi.a psi/make_gen psi/nextrics.c psi/pardef.c psi/pimotor.c psi/pipiezo.c psi/polterwrite.c psi/psi.c psi/scontroller.c psi/serial.c psi/tasinit.c psi/tasscan.c psi/tcpdocho.c psi/tcpdornier.c psi/tricssupport.c psi/velodornier.c
This commit is contained in:
34
nserver.c
34
nserver.c
@ -6,11 +6,9 @@
|
||||
|
||||
Mark Koennecke, October 1996
|
||||
Revised for use with tasker: Mark Koennecke, September 1997
|
||||
Added code to redirect stdout/sterr to file, Mark Koennecke, May 2000
|
||||
Define handler in InitServer to ignore SIGPIPE. Paul Hathaway, May 2004
|
||||
|
||||
Added code to redirect stdout/sterr to file.
|
||||
|
||||
Mark Koennecke, May 2000
|
||||
|
||||
Copyright: see copyright.h
|
||||
----------------------------------------------------------------------------*/
|
||||
#define NEEDDINTINIT
|
||||
@ -19,6 +17,7 @@
|
||||
#include <assert.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include <signal.h>
|
||||
#include <unistd.h>
|
||||
#include <time.h>
|
||||
#include "sics.h"
|
||||
@ -93,6 +92,8 @@
|
||||
memset(self,0,sizeof(SicsServer));
|
||||
*pServ = self;
|
||||
|
||||
/* define any signal handlers */
|
||||
signal(SIGPIPE,SIG_IGN);
|
||||
|
||||
/* configure fortify */
|
||||
iFortifyScope = Fortify_EnterScope();
|
||||
@ -458,7 +459,7 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
UserWait: the user command for waiting, expects one arg:
|
||||
time to wait in seconds
|
||||
*/
|
||||
---------------------------------------------------------------------------*/
|
||||
int UserWait(SConnection *pCon, SicsInterp *pSics, void *pData,
|
||||
int argc, char *argv[])
|
||||
{
|
||||
@ -517,7 +518,7 @@
|
||||
}
|
||||
}
|
||||
/*------------------------------------------------------------------------*/
|
||||
int SicsWait(long lTime)
|
||||
int SicsWaitOld(long lTime)
|
||||
{
|
||||
WaitStruct sWait;
|
||||
pTaskMan pTasker = NULL;
|
||||
@ -537,7 +538,28 @@
|
||||
TaskWait(pTasker,lID);
|
||||
return 1;
|
||||
}
|
||||
/*------------------------------------------------------------------------
|
||||
The new SicsWait is still on probation. It prevents commands to be
|
||||
executed on the same task on which the Sicswait is acting.
|
||||
M.K. December 2005
|
||||
-------------------------------------------------------------------------*/
|
||||
int SicsWait(long lTime)
|
||||
{
|
||||
pTaskMan pTasker = NULL;
|
||||
time_t endTime;
|
||||
|
||||
if(pServ->simMode)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
pTasker = GetTasker();
|
||||
endTime = time(NULL) + lTime;
|
||||
while(time(NULL) < endTime)
|
||||
{
|
||||
TaskYield(pTasker);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
/*-------------------------------------------------------------------------*/
|
||||
void ServerWriteGlobal(char *pMessage,int iOut)
|
||||
{
|
||||
|
Reference in New Issue
Block a user