summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2013-10-29 16:09:03 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2013-10-29 16:09:03 +0100
commit25e05054a6a597c87910207f2030c04992cbfb0d (patch)
tree03c5122dcc8ba15e1b3b5af7c24db1844ebf26ab
parent578cfe64a87710b0543a47b6441d7e28b30461ee (diff)
downloadvdr-25e05054a6a597c87910207f2030c04992cbfb0d.tar.gz
vdr-25e05054a6a597c87910207f2030c04992cbfb0d.tar.bz2
The LIRC remote control now connects to the socket even if it doesn't yet exist whe VDR is started
-rw-r--r--CONTRIBUTORS2
-rw-r--r--HISTORY5
-rw-r--r--config.h6
-rw-r--r--lirc.c19
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
diff --git a/HISTORY b/HISTORY
index e67eec13..fcee88a8 100644
--- a/HISTORY
+++ b/HISTORY
@@ -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).
diff --git a/config.h b/config.h
index 4c088424..cb41a7e7 100644
--- a/config.h
+++ b/config.h
@@ -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:
diff --git a/lirc.c b/lirc.c
index b88bd731..f7fc4525 100644
--- a/lirc.c
+++ b/lirc.c
@@ -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);