diff options
Diffstat (limited to 'sys.c')
-rw-r--r-- | sys.c | 24 |
1 files changed, 19 insertions, 5 deletions
@@ -30,6 +30,7 @@ #include "sysincl.h" #include "sys.h" +#include "sys_null.h" #include "logging.h" #if defined(LINUX) @@ -44,9 +45,18 @@ /* ================================================== */ +static int null_driver; + +/* ================================================== */ + void -SYS_Initialise(void) +SYS_Initialise(int clock_control) { + null_driver = !clock_control; + if (null_driver) { + SYS_Null_Initialise(); + return; + } #if defined(LINUX) SYS_Linux_Initialise(); #elif defined(SOLARIS) @@ -65,6 +75,10 @@ SYS_Initialise(void) void SYS_Finalise(void) { + if (null_driver) { + SYS_Null_Finalise(); + return; + } #if defined(LINUX) SYS_Linux_Finalise(); #elif defined(SOLARIS) @@ -91,7 +105,7 @@ void SYS_DropRoot(uid_t uid, gid_t gid) #elif defined(MACOSX) && defined(FEAT_PRIVDROP) SYS_MacOSX_DropRoot(uid, gid); #else - LOG_FATAL(LOGF_Sys, "dropping root privileges not supported"); + LOG_FATAL("dropping root privileges not supported"); #endif } @@ -102,7 +116,7 @@ void SYS_EnableSystemCallFilter(int level) #if defined(LINUX) && defined(FEAT_SCFILTER) SYS_Linux_EnableSystemCallFilter(level); #else - LOG_FATAL(LOGF_Sys, "system call filter not supported"); + LOG_FATAL("system call filter not supported"); #endif } @@ -115,7 +129,7 @@ void SYS_SetScheduler(int SchedPriority) #elif defined(MACOSX) SYS_MacOSX_SetScheduler(SchedPriority); #else - LOG_FATAL(LOGF_Sys, "scheduler priority setting not supported"); + LOG_FATAL("scheduler priority setting not supported"); #endif } @@ -126,7 +140,7 @@ void SYS_LockMemory(void) #if defined(LINUX) && defined(HAVE_MLOCKALL) SYS_Linux_MemLockAll(1); #else - LOG_FATAL(LOGF_Sys, "memory locking not supported"); + LOG_FATAL("memory locking not supported"); #endif } |