summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2002-01-13 16:27:39 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2002-01-13 16:27:39 +0100
commit49b2813699f81370315bef38085902f48d601827 (patch)
treee298805e79ff1fd83d81ab02fbbb81ccf8c046c3
parentbf45cfc3b9e7985317f4727933cb513e114ab3d4 (diff)
downloadvdr-49b2813699f81370315bef38085902f48d601827.tar.gz
vdr-49b2813699f81370315bef38085902f48d601827.tar.bz2
Fixed failing watchdog timer if program hangs in OSD activities
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY2
-rw-r--r--dvbosd.c3
3 files changed, 5 insertions, 1 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 654b3838..5c707c98 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -8,6 +8,7 @@ Carsten Koch <Carsten.Koch@icem.de>
for his idea of using multiple disks (and for testing this feature)
for implementing the 'new recording' indicator
for suggesting that the "Back" button in replay mode should bring up the "Recordings" menu
+ for fixing the watchdog timer if the program hangs in OSD activities
Plamen Ganev <pganev@com-it.net>
for fixing the frequency offset for Hotbird channels
diff --git a/HISTORY b/HISTORY
index ee1930bb..d5a3b1da 100644
--- a/HISTORY
+++ b/HISTORY
@@ -892,3 +892,5 @@ Video Disk Recorder Revision History
- Improved performance of SVDRP command entry.
- Removed EPGBugfixLevel '3' - after more than a year Pro-7 finally managed to
broadcast the correct timestamps for EPG events between 0:00 and 6:00!
+- Fixed failing watchdog timer if program hangs in OSD activities (thanks to
+ Carsten Koch).
diff --git a/dvbosd.c b/dvbosd.c
index 8457c58e..c3484300 100644
--- a/dvbosd.c
+++ b/dvbosd.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbosd.c 1.11 2002/01/13 15:49:28 kls Exp $
+ * $Id: dvbosd.c 1.12 2002/01/13 16:25:18 kls Exp $
*/
#include "dvbosd.h"
@@ -391,6 +391,7 @@ void cDvbOsd::Cmd(OSD_Command cmd, int color, int x0, int y0, int x1, int y1, co
// must block all signals, otherwise the command might not be fully executed
sigset_t set, oldset;
sigfillset(&set);
+ sigdelset(&set, SIGALRM);
sigprocmask(SIG_BLOCK, &set, &oldset);
ioctl(videoDev, OSD_SEND_CMD, &dc);
if (cmd == OSD_SetBlock) // XXX this is the only command that takes longer