summaryrefslogtreecommitdiff
path: root/sys.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys.c')
-rw-r--r--sys.c24
1 files changed, 19 insertions, 5 deletions
diff --git a/sys.c b/sys.c
index 248c1e8..5b56aae 100644
--- a/sys.c
+++ b/sys.c
@@ -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
}