From 8185891e28635bdb83fdf4ba4391030912dae596 Mon Sep 17 00:00:00 2001 From: Nicolás Reynolds Date: Tue, 18 Feb 2014 01:56:34 +0000 Subject: Tue Feb 18 01:56:27 UTC 2014 --- libre/lirc-libre/lircd-handle-large-config.patch | 39 ++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 libre/lirc-libre/lircd-handle-large-config.patch (limited to 'libre/lirc-libre/lircd-handle-large-config.patch') diff --git a/libre/lirc-libre/lircd-handle-large-config.patch b/libre/lirc-libre/lircd-handle-large-config.patch new file mode 100644 index 000000000..85bc20518 --- /dev/null +++ b/libre/lirc-libre/lircd-handle-large-config.patch @@ -0,0 +1,39 @@ +From 5efb56bf22a5077db564c766ba7cc37bc269231d Mon Sep 17 00:00:00 2001 +From: Jarod Wilson +Date: Wed, 6 Apr 2011 11:04:12 -0400 +Subject: [PATCH] lircd: handle larger config files in write_socket better + +Pointed out by Michael Zanetti on list, irsend LIST has issues with long +config files, which didn't exist in maintainer mode, as we were using a +do while loop to make sure we spit out everything. Just use that loop +all the time. + +Signed-off-by: Jarod Wilson +--- + daemons/lircd.c | 8 ++------ + 1 files changed, 2 insertions(+), 6 deletions(-) + +diff --git a/daemons/lircd.c b/daemons/lircd.c +index 6c21a3a..ddcca05 100644 +--- a/daemons/lircd.c ++++ b/daemons/lircd.c +@@ -231,14 +231,10 @@ inline int write_socket(int fd, const char *buf, int len) + int done, todo = len; + + while (todo) { +-#ifdef SIM_REC + do { + done = write(fd, buf, todo); +- } +- while (done < 0 && errno == EAGAIN); +-#else +- done = write(fd, buf, todo); +-#endif ++ } while (done < 0 && errno == EAGAIN); ++ + if (done <= 0) + return (done); + buf += done; +-- +1.7.0.1 + -- cgit v1.2.3-54-g00ecf