/* * ======== 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; } }
/* * ======== 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; } }
/* * ======== cleanup ======== */ static Void cleanup(Void) { if (curInit != TRUE) { curInit = FALSE; if (Lock_system != NULL) { Lock_delete(Lock_system); } } }