diff options
Diffstat (limited to 'src/vlibapi')
-rw-r--r-- | src/vlibapi/vat_helper_macros.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/vlibapi/vat_helper_macros.h b/src/vlibapi/vat_helper_macros.h index 57722338e2a..57ad520be1a 100644 --- a/src/vlibapi/vat_helper_macros.h +++ b/src/vlibapi/vat_helper_macros.h @@ -45,29 +45,31 @@ do { \ #define W(ret) \ do { \ f64 timeout = vat_time_now (vam) + 1.0; \ + ret = -99; \ \ while (vat_time_now (vam) < timeout) { \ if (vam->result_ready == 1) { \ ret = vam->retval; \ + break; \ } \ vat_suspend (vam->vlib_main, 1e-5); \ } \ - ret = -99; \ } while(0); /* W2: wait for results, with timeout */ #define W2(ret, body) \ do { \ f64 timeout = vat_time_now (vam) + 1.0; \ + ret = -99; \ \ while (vat_time_now (vam) < timeout) { \ if (vam->result_ready == 1) { \ (body); \ ret = vam->retval; \ + break; \ } \ vat_suspend (vam->vlib_main, 1e-5); \ } \ - ret = -99; \ } while(0); |