File tree Expand file tree Collapse file tree 1 file changed +17
-14
lines changed Expand file tree Collapse file tree 1 file changed +17
-14
lines changed Original file line number Diff line number Diff 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);
You can’t perform that action at this time.
0 commit comments