From: Yuri Volchkov Date: Wed, 11 Apr 2018 09:07:11 +0000 (+0200) Subject: Correct handling of mailbox return values on post and recv X-Git-Tag: RELEASE-0.3~21 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=3901730a16891fda55f55fd0eaee83cb99b632f7;p=unikraft%2Flibs%2Flwip.git Correct handling of mailbox return values on post and recv uk_mbox_mt_post_try and uk_mbox_mt_recv_try return a value smaller than 0 in case of errors. Signed-off-by: Yuri Volchkov --- diff --git a/mailbox.c b/mailbox.c index 5d04058..9d0546d 100644 --- a/mailbox.c +++ b/mailbox.c @@ -62,12 +62,7 @@ err_t sys_mbox_trypost(sys_mbox_t *mbox, void *msg) { UK_ASSERT(sys_mbox_valid(mbox)); - if (!msg) { /* FIXME? */ - uk_printd(DLVL_WARN, "Ignore posting NULL message"); - return ERR_OK; - } - - if (uk_mbox_mt_post_try(mbox->mbox, msg) != 0) + if (uk_mbox_mt_post_try(mbox->mbox, msg) < 0) return ERR_MEM; return ERR_OK; } @@ -111,8 +106,7 @@ u32_t sys_arch_mbox_tryfetch(sys_mbox_t *mbox, void **msg) { UK_ASSERT(sys_mbox_valid(mbox)); - rmsg = uk_mbox_mt_recv_try(mbox->mbox); - if (!rmsg) + if (uk_mbox_mt_recv_try(mbox->mbox, &rmsg) < 0) return SYS_MBOX_EMPTY; if (msg)