X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlibapi%2Fvat_helper_macros.h;fp=src%2Fvlibapi%2Fvat_helper_macros.h;h=57722338e2ad3cac0127b09b65711c17d80b647c;hb=56c7b01e163c233030359781d7e60f4553e90c51;hp=ffb74fe3b9bb80dcf18c65c838e32d25e13649f1;hpb=1f9191f6efa5f2e0284c194f920093201b27ef81;p=vpp.git diff --git a/src/vlibapi/vat_helper_macros.h b/src/vlibapi/vat_helper_macros.h index ffb74fe3b9b..57722338e2a 100644 --- a/src/vlibapi/vat_helper_macros.h +++ b/src/vlibapi/vat_helper_macros.h @@ -42,32 +42,32 @@ do { \ #define S(mp) (vl_msg_api_send_shmem (vam->vl_input_queue, (u8 *)&mp)) /* W: wait for results, with timeout */ -#define W \ +#define W(ret) \ do { \ f64 timeout = vat_time_now (vam) + 1.0; \ \ while (vat_time_now (vam) < timeout) { \ if (vam->result_ready == 1) { \ - return (vam->retval); \ + ret = vam->retval; \ } \ vat_suspend (vam->vlib_main, 1e-5); \ } \ - return -99; \ + ret = -99; \ } while(0); /* W2: wait for results, with timeout */ -#define W2(body) \ +#define W2(ret, body) \ do { \ f64 timeout = vat_time_now (vam) + 1.0; \ \ while (vat_time_now (vam) < timeout) { \ if (vam->result_ready == 1) { \ (body); \ - return (vam->retval); \ + ret = vam->retval; \ } \ vat_suspend (vam->vlib_main, 1e-5); \ } \ - return -99; \ + ret = -99; \ } while(0);