void free ( void *ptr /* pointer to block of memory to free */ ) { (void) memPartFree (&memSysPartition, (char *) ptr); }
int _tmain(int argc, _TCHAR* argv[]) { classLibInit(); memPartLibInit(memBuf, MEM_LEN); char* a1 = (char*)memPartAlloc(memSysPartId, 10); char* a2 = (char*)memPartAlloc(memSysPartId, 45); memPartFree(memSysPartId, a1); memPartFree(memSysPartId, a2); a1 = (char*)memPartAlloc(memSysPartId, 10); a2 = (char*)memPartAlloc(memSysPartId, 45); memPartFree(memSysPartId, a2); memPartFree(memSysPartId, a1); a1 = (char*)memPartAlloc(memSysPartId, 10); a2 = (char*)memPartAlloc(memSysPartId, 12); char* a3 = (char*)memPartAlloc(memSysPartId, 45); memPartFree(memSysPartId, a2); char* a4 = (char*)memPartAlloc(memSysPartId, 12); testQueue(); SEM_ID semId = semMCreate(0); int c = 0; semTake(semId, WAIT_FOREVER); c++; semGive(semId); semDelete(semId); gets(a1); return 0; }
void clMemPartFree(ClMemPartHandleT handle, ClPtrT mem) { STATUS rc = 0; ClMemPartT *pMemPart = NULL; if( !(pMemPart = (ClMemPartT*)handle) ) return; if(!mem) return; clOsalMutexLock(&pMemPart->mutex); if( (rc = memPartFree(pMemPart->partId, mem) ) == ERROR ) { /* * Ignore */ clOsalMutexUnlock(&pMemPart->mutex); return; } clOsalMutexUnlock(&pMemPart->mutex); }
void ossPartFree ( pVOID bfr ) { if (bfr != NULL) { if (usbMemPartId == NULL) { printf ("ossFree: usbMemPartId is NULL.\n"); return; } memPartFree (usbMemPartId, bfr); /* Update the amount of USB memory in use. */ usbMemCount -= sizeof (bfr); } }
/*-------------------------------------------------------- */ STATUS cfree(char *pBlock) { return memPartFree(memSysPartId,pBlock); }