コード例 #1
0
ファイル: logClient.c プロジェクト: ukaea/epics
/*
 * 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 );
}
コード例 #2
0
ファイル: iocLog.c プロジェクト: A2-Collaboration/epics
/*
 *  iocLogFlush ()
 */
void epicsShareAPI epicsShareAPI iocLogFlush (void)
{
    if (iocLogClient!=NULL) {
        logClientFlush (iocLogClient);
    }
}
コード例 #3
0
/*
 *  caPutLogClientFlush ()
 */
void epicsShareAPI epicsShareAPI caPutLogClientFlush ()
{
    if (caPutLogClient!=NULL) {
        logClientFlush (caPutLogClient);
    }
}