fix bug in sys_arch_mbox_tryfetch

=> now, if the mailbox is empty, we return the correct error code SYS_MBOX_EMPTY
This commit is contained in:
Stefan Lankes 2011-09-19 09:44:27 +02:00
parent 9bafdf63c5
commit 5aa39ad085

View file

@ -191,7 +191,11 @@ void sys_mbox_free(sys_mbox_t* mbox)
*/
u32_t sys_arch_mbox_tryfetch(sys_mbox_t* mbox, void** msg)
{
return mailbox_ptr_tryfetch(&mbox->mailbox, msg);
int ret = mailbox_ptr_tryfetch(&mbox->mailbox, msg);
if (ret)
return SYS_MBOX_EMPTY;
return 0;
}
/* sys_mbox_new(): create a new mailbox with a minimum size of "size"
@ -223,9 +227,10 @@ err_t sys_mbox_trypost(sys_mbox_t *mbox, void *msg)
err = mailbox_ptr_trypost(&mbox->mailbox, msg);
if (err != 0) {
LWIP_DEBUGF(SYS_DEBUG, ("sys_mbox_trypost: %d\n", err));
return ERR_MEM;
}
return err;
return ERR_OK;
}
/* sys_mbox_post(): post new data to the mailbox
@ -259,7 +264,7 @@ void sys_mutex_unlock(sys_mutex_t* mutex)
err_t sys_mutex_new(sys_mutex_t * mutex)
{
sem_init(mutex, 1);
return 0;
return ERR_OK;
}
#if SYS_LIGHTWEIGHT_PROT
@ -267,7 +272,7 @@ err_t sys_mutex_new(sys_mutex_t * mutex)
sys_prot_t sys_arch_protect(void)
{
spinlock_irqsave_lock(&lwprot_lock);
return 0;
return ERR_OK;
}
void sys_arch_unprotect(sys_prot_t pval)