wait_queue_head_t osl_waitqueue_create
    (
    int         options                /* semaphore option modes */
    )
    {
    SEM_ID semId;/*lint !e578 */

    if ((semId = (SEM_ID) objAlloc (semClassId)) == NULL)
	return (NULL);

    /* initialize allocated semaphore */

    if (semQueueInit (semId, options, 0) != OK)
	{
	objFree (semClassId, (char *) semId);
	return (NULL);
	}

    /* mark object memory to be freed during automatic resource reclamation */
	/*lint -save -e115*/

    OBJ_SET_DEALLOC_MEM (&semId->objCore);
	/*lint -restore +e115*/

#ifdef _WRS_CONFIG_SV_INSTRUMENTATION
    /* system viewer - level 1 event logging */
    EVT_OBJ_3 (semId, semClassId, EVENT_SEMCCREATE,
               semId, options, initialCount);
#endif /* _WRS_CONFIG_SV_INSTRUMENTATION */

    return (wait_queue_head_t)(semId);
    }
Ejemplo n.º 2
0
Archivo: vmLib.c Proyecto: phoboz/vmx
VM_CONTEXT_ID vmContextCreate(
    void
    )
{
    VM_CONTEXT_ID context;

    if (vmLibInstalled != TRUE)
    {
        errnoSet(S_vmLib_NOT_INSTALLED);
        context = NULL;
    }
    else
    {
        /* Allocate object */
        context = (VM_CONTEXT *) objAlloc(vmContextClassId);
        if (context != NULL)
        {
            /* Initialize structure */
            if (vmContextInit(context) != OK)
            {
                objFree(vmContextClassId, context);
                context = NULL;
            }
        }
    }

    return context;
}
Ejemplo n.º 3
0
Archivo: semBLib.c Proyecto: phoboz/vmx
SEM_ID semBCreate(
    int         options,
    SEM_B_STATE state
    )
{
    SEM_ID semId;

    /* Check if lib is installed */
    if (semBLibInstalled != TRUE)
    {
        errnoSet(S_semLib_NOT_INSTALLED);
        semId = NULL;
    }
    else
    {
        /* Allocate memory */
        semId = (SEM_ID) objAlloc(semClassId);
        if (semId != NULL)
        {
            /* Initialze structure */
            if (semBInit(semId, options, state) != OK)
            {
                objFree(semClassId, semId);
                semId = NULL;
            }
        }
    }

    return semId;
}
Ejemplo n.º 4
0
WDOG_ID wdCreate (void)
{
    WDOG_ID wdId;
#ifdef WV_INSTRUMENTATION
    int level;
#endif

    if ((!wdLibInstalled) && (wdLibInit () != OK))
        return (NULL);				/* package init problem */

    wdId = (WDOG_ID) objAlloc (wdClassId);


    /* initialize allocated watchdog */

    if ((wdId != NULL) && (wdInit (wdId) != OK))
    {
        objFree (wdClassId, (char *) wdId);
        return (NULL);
    }

#ifdef WV_INSTRUMENTATION
    /* windview - level 1 event logging */
    level = intLock ();
    EVT_OBJ_1 (OBJ, wdId, wdClassId, EVENT_WDCREATE, wdId);
    intUnlock (level);
#endif

    return (wdId);
}
Ejemplo n.º 5
0
SEM_ID semBCreate
(
    int         options,                /* semaphore options */
    SEM_B_STATE initialState            /* initial semaphore state */
)
{
    SEM_ID semId;

    if ((!semBLibInstalled) && (semBLibInit () != OK))	/* initialize package */
    {
		return (NULL);
    }

    if ((semId = (SEM_ID) objAlloc (semClassId)) == NULL)
    {
		return (NULL);
    }

    /* initialize allocated semaphore */

    if (semBInit (semId, options, initialState) != OK)
	{
		objFree (semClassId, (char *) semId);
		return (NULL);
	}

    return (semId);
}
Ejemplo n.º 6
0
Archivo: wdLib.c Proyecto: phoboz/vmx
WDOG_ID wdCreate(
    void
    )
{
    WDOG_ID wdId;

    if (wdLibInstalled != TRUE)
    {
        wdId = NULL;
    }
    else
    {
        /* Allocate struct */
        wdId = (WDOG_ID) objAlloc(wdClassId);
        if (wdId != NULL)
        {
            /* Initialize object */
            if (wdInit(wdId) != OK)
            {
                objFree(wdClassId, wdId);
                wdId = NULL;
            }
        }
    }

    return wdId;
}
Ejemplo n.º 7
0
PART_ID memPartCreate(char* pPool, unsigned poolSize)
{
	PART_ID pPart = (PART_ID)objAlloc(memPartClassId);

	if(NULL != pPart)
	{
		memPartInit(pPart, pPool, poolSize);
	}

	return pPart;
}
Ejemplo n.º 8
0
PART_ID memPartCreate 
    (
    char *pPool,        /* pointer to memory area */
    unsigned poolSize   /* size in bytes */
    )
    {
    FAST PART_ID pPart;

    /* allocate a partition structure from the system memory partition */

    pPart = (PART_ID) objAlloc (memPartClassId);

    if (pPart != NULL)
	memPartInit (pPart, pPool, poolSize);

#ifdef WV_INSTRUMENTATION
    EVT_OBJ_2 (OBJ, pPart, memPartClassId, EVENT_MEMPARTCREATE, pPart, poolSize);
#endif

    return (pPart);
    }