Signed-off-by: Haomai Wang <haomai@xsky.com>
}
void wait_for_done() {
- uint64_t i = 0;
+ int64_t tick_us = 1000 * 100; // 100ms
+ int64_t timeout_us = 5 * 60 * 1000 * 1000; // 5 mins
+ int i = 0;
while (dispatcher.get_pending()) {
- usleep(1000*100);
+ usleep(tick_us);
+ timeout_us -= tick_us;
if (i++ % 50 == 0)
print_internal_state(true);
+ if (timeout_us < 0)
+ assert(0 == " loop time exceed 5 mins, it looks we stuck into some problems!");
}
for (set<Messenger*>::iterator it = available_servers.begin();
it != available_servers.end(); ++it) {