commit 7d728dd91437f41bd0dd2512cdbf4e0c31285070
parent b85806c643291fdc52a3fe4dbf8d80aa785986a3
Author: Dominik Schmidt <das1993@hotmail.com>
Date: Wed, 13 Sep 2017 19:39:02 +0200
Reinitialize the Telegram eventloop-watcher when the underlying sockfd changes.
Diffstat:
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/telegram.d b/src/telegram.d
@@ -262,7 +262,7 @@ struct Telegram{
auto updates=response(sock);
if(updates.isNull){
reconnectSocket(sock);
- return false;
+ return true;
}
foreach(size_t i, update; updates){
lastUpdate=max(lastUpdate, update["update_id"].integer);
@@ -540,6 +540,8 @@ struct Bot{
catch(TelegramException te) error(te);
if(res){
ev_io_stop(eventloop, &w_tele.io);
+ ev_io_set(&w_tele.io, telegram.sock.handle, EV_READ);
+ ev_io_start(eventloop, &w_tele.io);
}
else{
telegram.triggerUpdates();