Ejemplo n.º 1
0
void
sys_mbox_free(sys_mbox_t pMBox)
{
	dbgprintf("sys_mbox_free: Free MBox (TID: %d)\n",GetThreadId());

	if(pMBox <= 0) { return; }

    // should refer status and see if mbox is empty, if not should give an error...

    DeleteMbx(pMBox);

	mbox_count--;
}
Ejemplo n.º 2
0
void basicPollingTest() {
	static const int msgCount = 3;
	int i = 0;
	MSG msg[msgCount];
	
	iop_mbx_t mbxInfo = {};
	mbxInfo.option = 0;
	mbxInfo.attr   = MBA_THFIFO | MBA_MSFIFO;
	s32 mbxId = CreateMbx(&mbxInfo);
	
	{
		s32 result = PollMbx(NULL, mbxId);
		printf("  polling from empty box: %d\n", result);
	}
	
	for (i = 0; i < msgCount; i++) {
		memset(&msg[i], 0, sizeof(MSG));
		msg[i].header.priority = msgCount - i;
		msg[i].payload         = i + 1;
		SendMbx(mbxId, &msg[i]);
	}
	
	printf("  box contents before polling: ");
	printMbx(mbxId);
	
	{
		MSG* msg = NULL;
		s32 result = PollMbx((void**)&msg, mbxId);
		printf("  polling from non-empty box: %d, message: %d\n", 
			result, msg->payload);
	}
	
	printf("  box contents after polling: ");
	printMbx(mbxId);
	
	DeleteMbx(mbxId);
}
Ejemplo n.º 3
0
//Delete the messagebox, pMBox.
void sys_mbox_free(sys_mbox_t *mbox)
{
	dbgprintf("sys_mbox_free: Free MBox (TID: %d)\n", GetThreadId());
	DeleteMbx(*mbox);
}
Ejemplo n.º 4
0
//Delete the messagebox, pMBox.
void sys_mbox_free(sys_mbox_t *mbox)
{
	DeleteMbx(*mbox);
}