diff options
-rw-r--r-- | CONTRIBUTORS | 2 | ||||
-rw-r--r-- | HISTORY | 5 | ||||
-rw-r--r-- | config.h | 6 | ||||
-rw-r--r-- | lirc.c | 19 |
4 files changed, 19 insertions, 13 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 58a7a3eb..fb8e99d5 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2847,6 +2847,8 @@ Lars Hanisch <dvb@flensrocker.de> for reporting an invalid line in channels.conf.terr for fixing handling '/' and '~' in recording file names in case DirectoryEncoding is used + for making the LIRC remote control connect to the socket even if it doesn't yet exist + when VDR is started Alex Lasnier <alex@fepg.org> for adding tuning support for ATSC devices @@ -7853,3 +7853,8 @@ Video Disk Recorder Revision History is unexpected at this point (reported by Helmut Auer). You can still navigate to the last replayed recording (if any) by pressing Ok repeatedly in the Recordings menu. + +2013-10-29: Version 2.0.5 + +- The LIRC remote control now connects to the socket even if it doesn't yet exist when + VDR is started (thanks to Lars Hanisch). @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.h 2.76.1.4 2013/09/07 10:25:10 kls Exp $ + * $Id: config.h 2.76.1.5 2013/10/29 16:06:45 kls Exp $ */ #ifndef __CONFIG_H @@ -22,8 +22,8 @@ // VDR's own version number: -#define VDRVERSION "2.0.4" -#define VDRVERSNUM 20004 // Version * 10000 + Major * 100 + Minor +#define VDRVERSION "2.0.5" +#define VDRVERSNUM 20005 // Version * 10000 + Major * 100 + Minor // The plugin API's version number: @@ -6,7 +6,7 @@ * * LIRC support added by Carsten Koch <Carsten.Koch@icem.de> 2000-06-16. * - * $Id: lirc.c 2.5.1.1 2013/08/22 09:36:49 kls Exp $ + * $Id: lirc.c 2.5.1.2 2013/10/29 16:06:20 kls Exp $ */ #include "lirc.h" @@ -21,11 +21,9 @@ cLircRemote::cLircRemote(const char *DeviceName) { addr.sun_family = AF_UNIX; strcpy(addr.sun_path, DeviceName); - if (Connect()) { - Start(); - return; - } - f = -1; + if (!Connect()) + f = -1; + Start(); } cLircRemote::~cLircRemote() @@ -67,14 +65,15 @@ void cLircRemote::Action(void) bool repeat = false; int timeout = -1; - while (Running() && f >= 0) { + while (Running()) { - bool ready = cFile::FileReady(f, timeout); + bool ready = f >= 0 && cFile::FileReady(f, timeout); int ret = ready ? safe_read(f, buf, sizeof(buf)) : -1; - if (ready && ret <= 0 ) { + if (f < 0 || ready && ret <= 0) { esyslog("ERROR: lircd connection broken, trying to reconnect every %.1f seconds", float(RECONNECTDELAY) / 1000); - close(f); + if (f >= 0) + close(f); f = -1; while (Running() && f < 0) { cCondWait::SleepMs(RECONNECTDELAY); |