summaryrefslogtreecommitdiffstats
path: root/vpp-api-test/vat/api_format.c
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2016-10-09 17:43:22 -0400
committerDamjan Marion <dmarion.lists@gmail.com>2016-10-10 20:49:29 +0000
commit477570e587b6b5a8f356a2727794155fa912d59f (patch)
tree486062f11e6675d83ad19788f2e855080be195b0 /vpp-api-test/vat/api_format.c
parentb21b6768ffcf02554529ac94792e4f8f23a1f15d (diff)
Add signal handling
Please send SIGTERM to stop vpp_api_test, especially during long-running operations such as a high-count asynchronous set of ip_add_del_routes. Otherwise, there's every chance that the data plane to vpp_api_test message queue will fill and cause an easily-avoided deadlock. Change-Id: I09309b445c354e1a692fed708dd5ea44d1ea9882 Signed-off-by: Dave Barach <dave@barachs.net>
Diffstat (limited to 'vpp-api-test/vat/api_format.c')
-rw-r--r--vpp-api-test/vat/api_format.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/vpp-api-test/vat/api_format.c b/vpp-api-test/vat/api_format.c
index d9325c4ffa2..6874c7de573 100644
--- a/vpp-api-test/vat/api_format.c
+++ b/vpp-api-test/vat/api_format.c
@@ -5829,6 +5829,9 @@ api_ip_add_del_route (vat_main_t * vam)
}
/* send it... */
S;
+ /* If we receive SIGTERM, stop now... */
+ if (vam->do_exit)
+ break;
}
/* When testing multiple add/del ops, use a control-ping to sync */
@@ -5861,6 +5864,10 @@ api_ip_add_del_route (vat_main_t * vam)
vam->async_errors = 0;
after = vat_time_now (vam);
+ /* slim chance, but we might have eaten SIGTERM on the first iteration */
+ if (j > 0)
+ count = j;
+
fformat (vam->ofp, "%d routes in %.6f secs, %.2f routes/sec\n",
count, after - before, count / (after - before));
}