Skip to content

[Future] improve cancellation

  • Improve warn message in Future::cancel()
  • Don't cancel a Future in the destructor if it was already cancelled or received
  • Restructure CancelFutureTest into single separate test cases

With this I can not reproduce the CancelFutureTest failures anymore neither SIGABRT nor the timeout.

I tested the CancelFutureTest (10 times) on various build configurations with out any failure:

meson build-release --buildtype=release
meson build-debugoptimized
meson build-stats -Dstats=true
meson build-stats-laws -Dstats=true -Ddefault_scheduling_strategy=locality_aware_work_stealing
meson build-ci-failure -Dstats=true -Dio=false
for d in build-*
do
    meson test -C ${d} CancelFutureTest --repeat=10
done

Not sure if this resolves #16 (closed). I will keep it open for now.

Merge request reports