test/interrupt: account for race with callback
Because the eal interrupt framework can race when invoking the callback and a separate unregister call, the test needs to accommodate the chance that the two collide. Do this by checking the return value of unregister against the race-condition flag (EAGAIN). Fixes: f1a6c22424ce ("app/test: update interrupts test") Cc: stable@dpdk.org Signed-off-by: Aaron Conole <aconole@redhat.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
This commit is contained in:
parent
a6069abe02
commit
73afc9df00
@ -370,9 +370,13 @@ test_interrupt_full_path_check(enum test_interrupt_handle_type intr_type)
|
||||
rte_delay_ms(TEST_INTERRUPT_CHECK_INTERVAL);
|
||||
|
||||
rte_delay_ms(TEST_INTERRUPT_CHECK_INTERVAL);
|
||||
if (rte_intr_callback_unregister(&test_intr_handle,
|
||||
test_interrupt_callback, &test_intr_handle) < 0)
|
||||
return -1;
|
||||
while ((count =
|
||||
rte_intr_callback_unregister(&test_intr_handle,
|
||||
test_interrupt_callback,
|
||||
&test_intr_handle)) < 0) {
|
||||
if (count != -EAGAIN)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (flag == 0) {
|
||||
printf("callback has not been called\n");
|
||||
|
Loading…
x
Reference in New Issue
Block a user