diff --git a/include/circ_elem_array.h b/include/circ_elem_array.h index a5b4b77..9984fba 100644 --- a/include/circ_elem_array.h +++ b/include/circ_elem_array.h @@ -134,7 +134,7 @@ struct prod_cons if (ct_.compare_exchange_weak(cur_ct, nxt_ct, std::memory_order_relaxed)) { break; } - ipc::sleep<8192>(k); + ipc::sleep(k); } std::forward(f)(elem_start + detail::index_of(cur_ct)); for (unsigned k = 0;;) { @@ -142,7 +142,7 @@ struct prod_cons if (wt_.compare_exchange_weak(exp_wt, nxt_ct, std::memory_order_release)) { break; } - ipc::sleep<8192>(k); + ipc::sleep(k); } return true; } @@ -177,7 +177,7 @@ struct prod_cons { expected, static_cast(conn_cnt), std::memory_order_relaxed)) { break; } - ipc::sleep<8192>(k); + ipc::sleep(k); conn_cnt = elems->conn_count(); // acquire if (conn_cnt == 0) return false; } diff --git a/include/rw_lock.h b/include/rw_lock.h index 2cea0ca..92c6fbc 100644 --- a/include/rw_lock.h +++ b/include/rw_lock.h @@ -57,7 +57,7 @@ namespace ipc { -template +template inline void sleep(K& k) noexcept { if (k < static_cast(N)) { std::this_thread::yield();