Fixes rpc timeouts and blocking call list error (#95)

This commit is contained in:
Thad House
2016-08-16 23:31:02 -07:00
committed by Peter Johnson
parent 1635cba827
commit d6e8de21ef
2 changed files with 10 additions and 14 deletions

View File

@@ -72,12 +72,10 @@ bool RpcServer::PollRpc(bool blocking, double time_out, RpcCallInfo* call_info)
m_poll_cond.wait(lock);
} else {
auto timeout_time = std::chrono::steady_clock::now() +
std::chrono::duration<double>(time_out);
while (!m_terminating) {
auto timed_out = m_poll_cond.wait_until(lock, timeout_time);
if (timed_out == std::cv_status::timeout) {
return false;
}
std::chrono::duration<double>(time_out);
auto timed_out = m_poll_cond.wait_until(lock, timeout_time);
if (timed_out == std::cv_status::timeout) {
return false;
}
}
if (m_terminating) return false;