Ejemplo n.º 1
0
/*
 *  ======== tsk1Fxn ========
 */
Void tsk1Fxn(UArg arg0, UArg arg1)
{
    Log_info2("tsk1 Entering. arg0,1 = %d %d", 
        (Int)arg0, (Int)arg1);

    Log_error2("tsk1 demonstrating error event. arg0,1 = %d %d",
        (Int)arg0, (Int)arg1);
        
    Log_info0("tsk1 Calling Semaphore_pend");
    Semaphore_pend(sem0, BIOS_WAIT_FOREVER);
    
    Log_info0("tsk1 Exiting");
}
Ejemplo n.º 2
0
Int RcmClient_create(String server, const RcmClient_Params *params,
        RcmClient_Handle *handle)
{
    RcmClient_Object *obj;
    Error_Block eb;
    Int status = RcmClient_S_SUCCESS;


    Log_print1(Diags_ENTRY, "--> %s: ()", (IArg)FXNN);

    /* initialize the error block */
    Error_init(&eb);
    *handle = (RcmClient_Handle)NULL;

    /* TODO: add check that params was initialized correctly */

    /* allocate the object */
    obj = (RcmClient_Handle)xdc_runtime_Memory_calloc(RcmClient_Module_heap(),
        sizeof(RcmClient_Object), sizeof(Int), &eb);

    if (NULL == obj) {
        Log_error2(FXNN": out of memory: heap=0x%x, size=%u",
            (IArg)RcmClient_Module_heap(), sizeof(RcmClient_Object));
        status = RcmClient_E_NOMEMORY;
        goto leave;
    }

    Log_print1(Diags_LIFECYCLE, FXNN": instance create: 0x%x", (IArg)obj);

    /* object-specific initialization */
    status = RcmClient_Instance_init(obj, server, params);

    if (status < 0) {
        RcmClient_Instance_finalize(obj);
        xdc_runtime_Memory_free(RcmClient_Module_heap(),
            (Ptr)obj, sizeof(RcmClient_Object));
        goto leave;
    }

    /* success, return opaque pointer */
    *handle = (RcmClient_Handle)obj;


leave:
    Log_print2(Diags_EXIT, "<-- %s: %d", (IArg)FXNN, (IArg)status);
    return(status);
}