]> rtime.felk.cvut.cz Git - frescor/fwp.git/commitdiff
Handle errors correctly in fwp_send_async()
authorMichal Sojka <sojkam1@fel.cvut.cz>
Sat, 28 Nov 2009 18:57:17 +0000 (19:57 +0100)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Sat, 28 Nov 2009 18:57:17 +0000 (19:57 +0100)
fwp/lib/fwp/fwp_endpoint.c

index fb91688eafc3a752a051f5dab7e9aa5126ce3529..6117d6ceae0f7812cbb4e701ec9aea705a99e7f2 100644 (file)
@@ -635,9 +635,10 @@ int fwp_send_async(struct fwp_endpoint *ep, const void *msg, size_t size)
        if (!ep->vres)
                return FRSH_ERR_NOT_BOUND;
 
-       if (fwp_vres_consume_budget(ep->vres, size, false) == 0)
+       ret = fwp_vres_consume_budget(ep->vres, size, false);
+       if (ret == 0)
                ret = fwp_endpoint_do_send(ep, msg, size);
-       else
+       else if (ret == 1)
                ret = fwp_vres_enqueue(ep->vres, ep, msg, size);
        return ret;
 }