]> xenbits.xensource.com Git - unikraft/libs/lwip.git/commitdiff
Correct handling of mailbox return values on post and recv
authorYuri Volchkov <yuri.volchkov@neclab.eu>
Wed, 11 Apr 2018 09:07:11 +0000 (11:07 +0200)
committerSimon Kuenzer <simon.kuenzer@neclab.eu>
Thu, 14 Jun 2018 23:26:45 +0000 (01:26 +0200)
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 <yuri.volchkov@neclab.eu>
mailbox.c

index 5d0405890c6310216ccaf6bb6229fa6fbb96c3aa..9d0546d2c1523b3b8b1720d5660b9440ff3698cb 100644 (file)
--- 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)