コード例 #1
0
/*
 *  ======== cleanup ========
 */
static Void cleanup(Void)
{
    ContigBuf *cb, *elem;

    if (curInit != FALSE) {
        curInit = FALSE;
        if (cmemInitialized) {
            CMEM_exit();
        }
        if (moduleLock != NULL) {
            Lock_delete(moduleLock);
        }
        /* free up contif buf list */
        cb = contigBufList;
        while (cb != NULL) {
            elem = cb;
            cb = cb->next;
            free(elem);
        }

        /* reinit static vars */
        contigBufList   = NULL;
        cmemInitialized = FALSE;
        moduleLock      = NULL;
    }
}
コード例 #2
0
ファイル: Processor_dsplink.c プロジェクト: black1tulip/DVSDK
/*
 *  ======== cleanup ========
 */
static Void cleanup(Void)
{
    static CmdObj dcmdInit = {NULL, NULL, NONE, NONE, NULL, NULL, NULL};

    if (curInit != FALSE) {
        curInit = FALSE;
        if (dcmd.dproc != NULL) {
            doCmd(EXIT, NULL);
            // Thread_join(dcmd.dproc);
            Thread_delete( dcmd.dproc ); /* will do join first? */
            dcmd.dproc = NULL;
        }

        if (dcmd.cmdPresent != NULL) {
            Sem_delete(dcmd.cmdPresent);
            dcmd.cmdPresent = NULL;
        }

        if (dcmd.replyPresent != NULL) {
            Sem_delete(dcmd.replyPresent);
            dcmd.replyPresent = NULL;
        }

        if (dcmd.gate != NULL) {
            Lock_delete(dcmd.gate);
            dcmd.gate = NULL;
        }

        dcmd = dcmdInit;
    }
}
コード例 #3
0
ファイル: Lock_wince.c プロジェクト: black1tulip/DVSDK
/*
 *  ======== cleanup ========
 */
static Void cleanup(Void)
{
    if (curInit != TRUE) {
        curInit = FALSE;
        if (Lock_system != NULL) {
            Lock_delete(Lock_system);
        }
    }
}