Merge changes from 3.15 branch into 7.0
This commit is contained in:
@@ -70,9 +70,7 @@
|
||||
#include "registryJLinks.h"
|
||||
#include "registryRecordType.h"
|
||||
|
||||
static enum {
|
||||
iocVirgin, iocBuilding, iocBuilt, iocRunning, iocPaused, iocStopped
|
||||
} iocState = iocVirgin;
|
||||
static enum iocStateEnum iocState = iocVoid;
|
||||
static enum {
|
||||
buildServers, buildIsolated
|
||||
} iocBuildMode;
|
||||
@@ -99,6 +97,11 @@ static void iterateRecords(recIterFunc func, void *user);
|
||||
int dbThreadRealtimeLock = 1;
|
||||
epicsExportAddress(int, dbThreadRealtimeLock);
|
||||
|
||||
enum iocStateEnum getIocState(void)
|
||||
{
|
||||
return iocState;
|
||||
}
|
||||
|
||||
/*
|
||||
* Initialize EPICS on the IOC.
|
||||
*/
|
||||
@@ -109,7 +112,7 @@ int iocInit(void)
|
||||
|
||||
static int iocBuild_1(void)
|
||||
{
|
||||
if (iocState != iocVirgin && iocState != iocStopped) {
|
||||
if (iocState != iocVoid) {
|
||||
errlogPrintf("iocBuild: IOC can only be initialized from uninitialized or stopped state\n");
|
||||
return -1;
|
||||
}
|
||||
@@ -705,8 +708,7 @@ static void doFreeRecord(dbRecordType *pdbRecordType, dbCommon *precord,
|
||||
|
||||
int iocShutdown(void)
|
||||
{
|
||||
if (iocState == iocVirgin || iocState == iocStopped)
|
||||
return 0;
|
||||
if (iocState == iocVoid) return 0;
|
||||
|
||||
iterateRecords(doCloseLinks, NULL);
|
||||
|
||||
@@ -734,7 +736,7 @@ int iocShutdown(void)
|
||||
iocshFree();
|
||||
}
|
||||
|
||||
iocState = iocStopped;
|
||||
iocState = iocVoid;
|
||||
iocBuildMode = buildServers;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -13,10 +13,15 @@
|
||||
|
||||
#include "shareLib.h"
|
||||
|
||||
enum iocStateEnum {
|
||||
iocVoid, iocBuilding, iocBuilt, iocRunning, iocPaused
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
epicsShareFunc enum iocStateEnum getIocState(void);
|
||||
epicsShareFunc int iocInit(void);
|
||||
epicsShareFunc int iocBuild(void);
|
||||
epicsShareFunc int iocBuildIsolated(void);
|
||||
|
||||
Reference in New Issue
Block a user