pvalink config # of workers

This commit is contained in:
Michael Davidsaver
2018-04-18 15:14:27 -07:00
parent e2147a95b2
commit c86472666a
4 changed files with 8 additions and 1 deletions

View File

@ -150,4 +150,5 @@ extern "C" {
epicsExportRegistrar(installPVAAddLinkHook);
epicsExportAddress(jlif, lsetPVA);
epicsExportAddress(int, pvaLinkDebug);
epicsExportAddress(int, pvaLinkNWorkers);
}

View File

@ -32,6 +32,7 @@
extern "C" {
epicsShareExtern int pvaLinkDebug;
epicsShareExtern int pvaLinkIsolate;
epicsShareExtern int pvaLinkNWorkers;
}
#if 0

View File

@ -8,6 +8,8 @@
#include "pvalink.h"
int pvaLinkNWorkers = 1;
namespace pvalink {
pvaGlobal_t *pvaGlobal;
@ -20,7 +22,7 @@ pvaGlobal_t::pvaGlobal_t()
,queue("PVAL")
{
// worker should be above PVA worker priority?
queue.start(1, epicsThreadPriorityMedium);
queue.start(std::max(1, pvaLinkNWorkers), epicsThreadPriorityMedium);
}
pvaGlobal_t::~pvaGlobal_t()

View File

@ -15,3 +15,6 @@ variable(qsrvDisableFormat, int)
# from pdb.cpp
# Extra debug info when parsing group definitions
variable(PDBProviderDebug, int)
# Number of worker threads for handling monitor updates.
# Default: 1
variable(pvaLinkNWorkers, int)