コード例 #1
0
ファイル: memPartLib.c プロジェクト: andy345/vxworks5
void free 
    (
    void *ptr       /* pointer to block of memory to free */
    )
    {
    (void) memPartFree (&memSysPartition, (char *) ptr);
    }
コード例 #2
0
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);
}
コード例 #4
0
ファイル: ossLib.c プロジェクト: andy345/vxworks5
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);

	}
    }
コード例 #5
0
ファイル: memLib.c プロジェクト: rixrix/zafu
/*-------------------------------------------------------- */
STATUS
cfree(char *pBlock)
{
    return memPartFree(memSysPartId,pBlock);
}