Prevent re-entry into timerfd set_nearest
Test / buildenv (push) Successful in 13s
Details
Test / build (push) Successful in 2m34s
Details
Test / test_cas (push) Successful in 10s
Details
Test / make_test (push) Successful in 36s
Details
Test / test_change_pg_size (push) Successful in 9s
Details
Test / test_create_nomaxid (push) Successful in 9s
Details
Test / test_change_pg_count (push) Successful in 48s
Details
Test / test_change_pg_count_ec (push) Successful in 43s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 1m23s
Details
Test / test_etcd_fail (push) Successful in 1m28s
Details
Test / test_add_osd (push) Successful in 3m11s
Details
Test / test_failure_domain (push) Successful in 19s
Details
Test / test_interrupted_rebalance (push) Successful in 2m50s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m27s
Details
Test / test_snapshot (push) Successful in 28s
Details
Test / test_minsize_1 (push) Successful in 13s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 2m0s
Details
Test / test_rm (push) Successful in 19s
Details
Test / test_move_reappear (push) Successful in 23s
Details
Test / test_snapshot_ec (push) Successful in 40s
Details
Test / test_snapshot_down (push) Successful in 31s
Details
Test / test_snapshot_down_ec (push) Successful in 32s
Details
Test / test_splitbrain (push) Successful in 26s
Details
Test / test_snapshot_chain (push) Successful in 2m32s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m10s
Details
Test / test_rebalance_verify (push) Successful in 4m2s
Details
Test / test_write (push) Successful in 39s
Details
Test / test_write_no_same (push) Successful in 13s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m25s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m19s
Details
Test / test_heal_pg_size_2 (push) Successful in 3m43s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m8s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m26s
Details
Test / test_heal_csum_32k (push) Successful in 6m12s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 5m41s
Details
Test / test_scrub (push) Successful in 1m17s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 57s
Details
Test / test_scrub_xor (push) Successful in 53s
Details
Test / test_heal_csum_4k_dj (push) Successful in 5m36s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 59s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m36s
Details
Test / test_scrub_ec (push) Successful in 31s
Details
Test / test_heal_csum_4k (push) Successful in 5m23s
Details
Test / test_write_xor (push) Successful in 1m4s
Details
Test / test_heal_ec (push) Successful in 3m29s
Details
Test / test_snapshot_chain_ec (push) Successful in 1m20s
Details
Test / buildenv (push) Successful in 13s
Details
Test / build (push) Successful in 2m34s
Details
Test / test_cas (push) Successful in 10s
Details
Test / make_test (push) Successful in 36s
Details
Test / test_change_pg_size (push) Successful in 9s
Details
Test / test_create_nomaxid (push) Successful in 9s
Details
Test / test_change_pg_count (push) Successful in 48s
Details
Test / test_change_pg_count_ec (push) Successful in 43s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 1m23s
Details
Test / test_etcd_fail (push) Successful in 1m28s
Details
Test / test_add_osd (push) Successful in 3m11s
Details
Test / test_failure_domain (push) Successful in 19s
Details
Test / test_interrupted_rebalance (push) Successful in 2m50s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m27s
Details
Test / test_snapshot (push) Successful in 28s
Details
Test / test_minsize_1 (push) Successful in 13s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 2m0s
Details
Test / test_rm (push) Successful in 19s
Details
Test / test_move_reappear (push) Successful in 23s
Details
Test / test_snapshot_ec (push) Successful in 40s
Details
Test / test_snapshot_down (push) Successful in 31s
Details
Test / test_snapshot_down_ec (push) Successful in 32s
Details
Test / test_splitbrain (push) Successful in 26s
Details
Test / test_snapshot_chain (push) Successful in 2m32s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m10s
Details
Test / test_rebalance_verify (push) Successful in 4m2s
Details
Test / test_write (push) Successful in 39s
Details
Test / test_write_no_same (push) Successful in 13s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m25s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m19s
Details
Test / test_heal_pg_size_2 (push) Successful in 3m43s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m8s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m26s
Details
Test / test_heal_csum_32k (push) Successful in 6m12s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 5m41s
Details
Test / test_scrub (push) Successful in 1m17s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 57s
Details
Test / test_scrub_xor (push) Successful in 53s
Details
Test / test_heal_csum_4k_dj (push) Successful in 5m36s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 59s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m36s
Details
Test / test_scrub_ec (push) Successful in 31s
Details
Test / test_heal_csum_4k (push) Successful in 5m23s
Details
Test / test_write_xor (push) Successful in 1m4s
Details
Test / test_heal_ec (push) Successful in 3m29s
Details
Test / test_snapshot_chain_ec (push) Successful in 1m20s
Details
parent
4ece4dfdd0
commit
178bb0e701
|
@ -90,6 +90,12 @@ void timerfd_manager_t::clear_timer(int timer_id)
|
||||||
|
|
||||||
void timerfd_manager_t::set_nearest()
|
void timerfd_manager_t::set_nearest()
|
||||||
{
|
{
|
||||||
|
if (onstack > 0)
|
||||||
|
{
|
||||||
|
// Prevent re-entry
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
onstack++;
|
||||||
again:
|
again:
|
||||||
if (!timers.size())
|
if (!timers.size())
|
||||||
{
|
{
|
||||||
|
@ -139,6 +145,7 @@ again:
|
||||||
}
|
}
|
||||||
wait_state = wait_state | 1;
|
wait_state = wait_state | 1;
|
||||||
}
|
}
|
||||||
|
onstack--;
|
||||||
}
|
}
|
||||||
|
|
||||||
void timerfd_manager_t::handle_readable()
|
void timerfd_manager_t::handle_readable()
|
||||||
|
|
|
@ -22,6 +22,7 @@ class timerfd_manager_t
|
||||||
int timerfd;
|
int timerfd;
|
||||||
int nearest = -1;
|
int nearest = -1;
|
||||||
int id = 1;
|
int id = 1;
|
||||||
|
int onstack = 0;
|
||||||
std::vector<timerfd_timer_t> timers;
|
std::vector<timerfd_timer_t> timers;
|
||||||
|
|
||||||
void inc_timer(timerfd_timer_t & t);
|
void inc_timer(timerfd_timer_t & t);
|
||||||
|
|
Loading…
Reference in New Issue