forked from epics_driver_modules/require
mlock added
This commit is contained in:
@@ -9,5 +9,6 @@ SOURCES += updateMenuConvert.c
|
||||
SOURCES += addScan.c
|
||||
SOURCES += disctools.c
|
||||
SOURCES += exec.c
|
||||
SOURCES += mlock.c
|
||||
|
||||
SOURCES_vxWorks += bootNotify.c
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
#include <iocsh.h>
|
||||
#include <epicsExport.h>
|
||||
|
||||
#ifdef UNIX
|
||||
#include <stdio.h>
|
||||
#include <sys/mman.h>
|
||||
#endif
|
||||
|
||||
#ifdef UNIX
|
||||
static const iocshFuncDef mlockDef = { "mlock", 0, NULL };
|
||||
|
||||
static void mlockFunc(const iocshArgBuf *args)
|
||||
{
|
||||
int status;
|
||||
|
||||
status = mlockall(MCL_CURRENT|MCL_FUTURE);
|
||||
|
||||
if (status != 0) {
|
||||
perror ("mlock failed");
|
||||
}
|
||||
}
|
||||
|
||||
static const iocshFuncDef munlockDef = { "munlock", 0, NULL };
|
||||
|
||||
static void munlockFunc(const iocshArgBuf *args)
|
||||
{
|
||||
int status;
|
||||
|
||||
status = munlockall();
|
||||
|
||||
if (status != 0) {
|
||||
perror ("mlock failed");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
mlockRegister(void)
|
||||
{
|
||||
static int firstTime = 1;
|
||||
if (firstTime) {
|
||||
#ifdef UNIX
|
||||
iocshRegister(&mlockDef, mlockFunc);
|
||||
iocshRegister(&munlockDef, munlockFunc);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
epicsExportRegistrar(mlockRegister);
|
||||
Reference in New Issue
Block a user