New upstream version 17.08
[deb_dpdk.git] / test / test / test_alarm.c
index ecb2f6d..2d16d6f 100644 (file)
@@ -37,7 +37,6 @@
 #include <rte_common.h>
 #include <rte_cycles.h>
 #include <rte_interrupts.h>
-#include <rte_common.h>
 #include <rte_atomic.h>
 #include <rte_alarm.h>
 
@@ -47,6 +46,7 @@
 
 #define RTE_TEST_ALARM_TIMEOUT 10 /* ms */
 #define RTE_TEST_CHECK_PERIOD   3 /* ms */
+#define RTE_TEST_MAX_REPEAT    20
 
 static volatile int flag;
 
@@ -96,6 +96,7 @@ static int
 test_multi_alarms(void)
 {
        int rm_count = 0;
+       int count = 0;
        cb_count.cnt = 0;
 
        printf("Expect 6 callbacks in order...\n");
@@ -169,7 +170,10 @@ test_multi_alarms(void)
                printf("Error, cancelling head-of-list leads to premature callback\n");
                return -1;
        }
-       rte_delay_ms(10);
+
+       while (flag != 2 && count++ < RTE_TEST_MAX_REPEAT)
+               rte_delay_ms(10);
+
        if (flag != 2) {
                printf("Error - expected callback not called\n");
                rte_eal_alarm_cancel(test_remove_in_callback, (void *)-1);
@@ -212,7 +216,7 @@ test_alarm(void)
                printf("fail to set alarm callback\n");
                return -1;
        }
-       while (flag == 0 && count ++ < 6)
+       while (flag == 0 && count++ < RTE_TEST_MAX_REPEAT)
                rte_delay_ms(RTE_TEST_CHECK_PERIOD);
 
        if (flag == 0){