Esempio n. 1
0
/**
 * Handler for messageq unblock API.
 *
 * \param ctp	Thread's associated context information.
 * \param msg	The actual devctl() message.
 * \param ocb	OCB associated with client's session.
 *
 * \return POSIX errno value.
 *
 * \retval EOK		Success.
 * \retval ENOTSUP	Unsupported devctl().
 */
int syslink_messageq_unblock(resmgr_context_t *ctp, io_devctl_t *msg, syslink_ocb_t *ocb) {

	MessageQDrv_CmdArgs *		cargs = (MessageQDrv_CmdArgs *) (_DEVCTL_DATA (msg->i));
	MessageQ_unblock (cargs->args.unblock.handle);
    cargs->apiStatus = MessageQ_S_SUCCESS;

	return (_RESMGR_PTR (ctp, &msg->o, sizeof (msg->o) + sizeof(MessageQDrv_CmdArgs)));

}
Esempio n. 2
0
Int32 System_ipcMsgQTskDelete()
{
    Int32 status;

    /* unblock task */
    MessageQ_unblock(gSystem_ipcObj.selfMsgQ);

    /* wait for command to be received
       and task to be exited */
    OSA_waitMsecs(10);

    OSA_thrDelete(&gSystem_ipcObj.msgQTask);

    status = OSA_mutexDelete ( &gSystem_ipcObj.msgQLock );
    UTILS_assert(status==OSA_SOK);

    return OSA_SOK;
}