/* * ======== 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"); }
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); }