another attempt to fix windows build

This commit is contained in:
mrkraimer
2018-09-30 07:12:27 -04:00
parent 7e0bc0c45a
commit 93c6305952
6 changed files with 25 additions and 11 deletions

View File

@ -34,8 +34,12 @@ PVArrayPlugin::~PVArrayPlugin()
void PVArrayPlugin::create()
{
PVArrayPluginPtr pvPlugin = PVArrayPluginPtr(new PVArrayPlugin());
PVPluginRegistry::registerPlugin(name,pvPlugin);
static bool firstTime = true;
if(firstTime) {
firstTime = false;
PVArrayPluginPtr pvPlugin = PVArrayPluginPtr(new PVArrayPlugin());
PVPluginRegistry::registerPlugin(name,pvPlugin);
}
}
PVFilterPtr PVArrayPlugin::create(

View File

@ -16,9 +16,9 @@
#include <pv/bitSet.h>
#include <pv/thread.h>
#include <pv/pvPlugin.h>
#define epicsExportSharedSymbols
#include <pv/pvStructureCopy.h>
#include <pv/pvPlugin.h>
using std::tr1::static_pointer_cast;
using std::tr1::dynamic_pointer_cast;

View File

@ -34,8 +34,12 @@ PVDeadbandPlugin::~PVDeadbandPlugin()
void PVDeadbandPlugin::create()
{
PVDeadbandPluginPtr pvPlugin = PVDeadbandPluginPtr(new PVDeadbandPlugin());
PVPluginRegistry::registerPlugin(name,pvPlugin);
static bool firstTime = true;
if(firstTime) {
firstTime = false;
PVDeadbandPluginPtr pvPlugin = PVDeadbandPluginPtr(new PVDeadbandPlugin());
PVPluginRegistry::registerPlugin(name,pvPlugin);
}
}
PVFilterPtr PVDeadbandPlugin::create(

View File

@ -34,8 +34,12 @@ PVTimestampPlugin::~PVTimestampPlugin()
void PVTimestampPlugin::create()
{
PVTimestampPluginPtr pvPlugin = PVTimestampPluginPtr(new PVTimestampPlugin());
PVPluginRegistry::registerPlugin(name,pvPlugin);
static bool firstTime = true;
if(firstTime) {
firstTime = false;
PVTimestampPluginPtr pvPlugin = PVTimestampPluginPtr(new PVTimestampPlugin());
PVPluginRegistry::registerPlugin(name,pvPlugin);
}
}
PVFilterPtr PVTimestampPlugin::create(

View File

@ -31,15 +31,15 @@ namespace epics { namespace pvDatabase {
static PVDatabasePtr pvDatabaseMaster;
bool PVDatabase::getMasterFirstCall = true;
PVDatabasePtr PVDatabase::getMaster()
{
if(getMasterFirstCall) {
getMasterFirstCall = false;
static bool firstTime = true;
if(firstTime) {
firstTime = false;
pvDatabaseMaster = PVDatabasePtr(new PVDatabase());
PVArrayPlugin::create();
PVTimestampPlugin::create();
PVDeadbandPlugin::create();
}
return pvDatabaseMaster;
}

View File

@ -30,6 +30,7 @@
#include <pv/channelProviderLocal.h>
#include <pv/convert.h>
#include <pv/pvStructureCopy.h>
#include <pv/pvDatabase.h>
#define epicsExportSharedSymbols
#include "powerSupply.h"
@ -267,6 +268,7 @@ static void ignoreTest()
MAIN(testPlugin)
{
testPlan(22);
PVDatabasePtr pvDatabase(PVDatabase::getMaster());
deadbandTest();
arrayTest();
timeStampTest();