Skip to content

Commit e0a078c

Browse files
Retry pcas create
1 parent b229fe1 commit e0a078c

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

isisdaeApp/src/isisdaeDriver.cpp

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2614,20 +2614,23 @@ static void daeCASThread(void* arg)
26142614
epicsThreadSleep(30);
26152615
}
26162616
}
2617-
try {
2618-
pCAS = new exServer ( pvPrefix, aliasCount,
2619-
scanOn != 0, syncScan == 0, asyncDelay,
2620-
maxSimultAsyncIO, iface, dae_type);
2621-
}
2622-
catch(const std::exception& ex) {
2623-
errlogSevPrintf (errlogMajor, "CAS: Server initialization error %s\n", ex.what());
2624-
errlogFlush ();
2625-
return;
2626-
}
2627-
catch(...) {
2628-
errlogSevPrintf (errlogMajor, "CAS: Server initialization error\n" );
2629-
errlogFlush ();
2630-
return;
2617+
for(bool done = false; !done; ) {
2618+
try {
2619+
pCAS = new exServer ( pvPrefix, aliasCount,
2620+
scanOn != 0, syncScan == 0, asyncDelay,
2621+
maxSimultAsyncIO, iface, dae_type);
2622+
done = true;
2623+
}
2624+
catch(const std::exception& ex) {
2625+
errlogSevPrintf (errlogMajor, "CAS: Server initialization error %s\n", ex.what());
2626+
errlogFlush ();
2627+
epicsThreadSleep(30);
2628+
}
2629+
catch(...) {
2630+
errlogSevPrintf (errlogMajor, "CAS: Server initialization error\n" );
2631+
errlogFlush ();
2632+
epicsThreadSleep(30);
2633+
}
26312634
}
26322635

26332636
pCAS->setDebugLevel(debugLevel);

0 commit comments

Comments
 (0)