summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chat.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/chat.c b/chat.c
index fa1240a..e998812 100644
--- a/chat.c
+++ b/chat.c
@@ -264,7 +264,7 @@ int main(int argc, char *argv[]) {
{ .events = POLLIN, .fd = execPipe[0] },
};
while (!self.quit) {
- int nfds = poll(fds, (self.restricted ? 2 : ARRAY_LEN(fds)), -1);
+ int nfds = poll(fds, (self.restricted ? 2 : ARRAY_LEN(fds)), 600000);
if (nfds < 0 && errno != EINTR) err(EX_IOERR, "poll");
if (nfds > 0) {
if (fds[0].revents) uiRead();
@@ -273,6 +273,11 @@ int main(int argc, char *argv[]) {
if (fds[3].revents) execRead();
}
+ // XXX: Socket seems to just stop working when connected to something
+ // like pounce which sends no pings and there is no activity for a long
+ // time, so just send something...
+ if (!nfds) ircFormat("\r\n");
+
if (signals[SIGHUP]) self.quit = "zzz";
if (signals[SIGINT] || signals[SIGTERM]) break;