Skip to content
Snippets Groups Projects
Commit 87ae2413 authored by Thomas Jahns's avatar Thomas Jahns :cartwheel: Committed by Sergey Kosukhin
Browse files

Remove static variable inhibiting generality.

* Having one storage variable for namespace id limited CDI-PIO to one
  namespace.
parent 0e1ea690
No related branches found
No related tags found
2 merge requests!34Version 2.2.0,!13Consolidation with CDI-PIO (develop)
......@@ -216,11 +216,12 @@ cdiPioClientStreamDefTimestep_(stream_t *streamptr, int tsID)
}
void
cdiPioClientSetup(int *pioNamespace_, int *pioNamespace)
cdiPioClientSetup(int *pioNamespace_)
{
*pioNamespace_ = *pioNamespace = namespaceNew();
int pioNamespace = namespaceNew();
*pioNamespace_ = pioNamespace;
int callerCDINamespace = namespaceGetActive();
namespaceSetActive(*pioNamespace_);
namespaceSetActive(pioNamespace);
cdiPioSerializeSetMPI();
namespaceSwitchSet(NSSWITCH_ABORT, NSSW_FUNC(cdiAbortC_MPI));
namespaceSwitchSet(NSSWITCH_WARNING, NSSW_FUNC(cdiPioWarning));
......
#ifndef PIO_CLIENT_H
#define PIO_CLIENT_H
void cdiPioClientSetup(int *pioNamespace_, int *pioNamespace);
void cdiPioClientSetup(int *pioNamespace);
#endif
......
......@@ -363,7 +363,6 @@ cdiPioNoPostCommSetup(void)
/*****************************************************************************/
static int pioNamespace_ = -1;
static int xtInitByCDI = 0;
/* pioInit definition must currently compile even in non-MPI configurations */
......@@ -433,7 +432,7 @@ cdiPioInit(MPI_Comm commGlob, int confResH, int *pioNamespace)
// JUST FOR TEST CASES WITH ONLY ONE MPI TASK
if (sizeGlob == 1)
{
pioNamespace_ = *pioNamespace = namespaceNew();
*pioNamespace = namespaceNew();
return commInqCommGlob();
}
......@@ -454,7 +453,7 @@ cdiPioInit(MPI_Comm commGlob, int confResH, int *pioNamespace)
return MPI_COMM_NULL;
}
else
cdiPioClientSetup(&pioNamespace_, pioNamespace);
cdiPioClientSetup(pioNamespace);
reshReplace(confResH, conf, &cdiPioConfOps);
xdebug("nProcsGlob=%d, RETURN", sizeGlob);
......@@ -528,9 +527,10 @@ pioFinalize(void)
{
xdebug("%s", "START");
/* pioNamespace_ is unchanged on I/O servers */
if (pioNamespace_ == -1) return;
namespaceDelete(pioNamespace_);
/* namespace is unchanged on I/O servers */
int pioNamespace = namespaceGetActive();
if (pioNamespace == 0) return;
namespaceDelete(pioNamespace);
int clientRank = commInqRankModel(), numClients = cdiPioCommInqSizeClients(), numColl = commInqSizeColl(),
collRank = cdiPioCollRank(clientRank, numClients, numColl);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment