Mercurial > irccd
comparison irccdctl/cli.cpp @ 408:35c40ac0dc26
Irccdctl: avoid waiting on disconnect
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 20 Jan 2017 09:35:57 +0100 |
parents | c6fbb6e0e06d |
children | 9be4f8a5cf1a |
comparison
equal
deleted
inserted
replaced
407:533f99e95caf | 408:35c40ac0dc26 |
---|---|
61 }); | 61 }); |
62 | 62 |
63 try { | 63 try { |
64 ElapsedTimer timer; | 64 ElapsedTimer timer; |
65 | 65 |
66 while (!msg.is_object() && timer.elapsed() < 3000) | 66 while (irccdctl.client().isConnected() && !msg.is_object() && timer.elapsed() < 3000) |
67 util::poller::poll(3000 - timer.elapsed(), irccdctl); | 67 util::poller::poll(3000 - timer.elapsed(), irccdctl); |
68 } catch (const std::exception &) { | 68 } catch (const std::exception &) { |
69 irccdctl.client().onMessage.disconnect(id); | 69 irccdctl.client().onMessage.disconnect(id); |
70 throw; | 70 throw; |
71 } | 71 } |