/* * logClientRestart () */ static void logClientRestart ( logClientId id ) { logClient *pClient = (logClient *)id; /* SMP safe state inspection */ epicsMutexMustLock ( pClient->mutex ); while ( ! pClient->shutdown ) { unsigned isConn; isConn = pClient->connected; epicsMutexUnlock ( pClient->mutex ); if ( isConn ) { logClientFlush ( pClient ); } else { logClientConnect ( pClient ); } epicsThreadSleep ( LOG_RESTART_DELAY ); epicsMutexMustLock ( pClient->mutex ); } epicsMutexUnlock ( pClient->mutex ); pClient->shutdownConfirm = 1u; epicsEventSignal ( pClient->stateChangeNotify ); }
/* * iocLogFlush () */ void epicsShareAPI epicsShareAPI iocLogFlush (void) { if (iocLogClient!=NULL) { logClientFlush (iocLogClient); } }
/* * caPutLogClientFlush () */ void epicsShareAPI epicsShareAPI caPutLogClientFlush () { if (caPutLogClient!=NULL) { logClientFlush (caPutLogClient); } }