aboutsummaryrefslogtreecommitdiff
path: root/example/packet/odp_packet_dump.c
diff options
context:
space:
mode:
Diffstat (limited to 'example/packet/odp_packet_dump.c')
-rw-r--r--example/packet/odp_packet_dump.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/example/packet/odp_packet_dump.c b/example/packet/odp_packet_dump.c
index e1ef7e14d..04d6576c5 100644
--- a/example/packet/odp_packet_dump.c
+++ b/example/packet/odp_packet_dump.c
@@ -36,7 +36,7 @@ typedef struct test_options_t {
typedef struct test_global_t {
test_options_t opt;
odp_pool_t pool;
- int stop;
+ odp_atomic_u32_t stop;
struct {
odp_pktio_t pktio;
@@ -52,8 +52,7 @@ static void sig_handler(int signo)
{
(void)signo;
- test_global.stop = 1;
- odp_mb_full();
+ odp_atomic_store_u32(&test_global.stop, 1);
}
static void print_usage(void)
@@ -636,7 +635,7 @@ static int receive_packets(test_global_t *global)
int printed;
uint64_t num_packet = 0;
- while (!global->stop) {
+ while (!odp_atomic_load_u32(&global->stop)) {
ev = odp_schedule(NULL, ODP_SCHED_NO_WAIT);
if (ev == ODP_EVENT_INVALID)
@@ -674,6 +673,7 @@ int main(int argc, char *argv[])
global = &test_global;
memset(global, 0, sizeof(test_global_t));
+ odp_atomic_init_u32(&global->stop, 0);
signal(SIGINT, sig_handler);