diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2003-03-09 10:01:02 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2003-03-09 10:01:02 +0100 |
commit | dfc60da1d5fb03c6007e66df16f5979080171a4b (patch) | |
tree | 91b7821ea6e17cfab28b17d7476ae69e2cee37fb | |
parent | 6fae0a6d49175b4d71c0a43ddb0c8c2f830c38eb (diff) | |
download | vdr-dfc60da1d5fb03c6007e66df16f5979080171a4b.tar.gz vdr-dfc60da1d5fb03c6007e66df16f5979080171a4b.tar.bz2 |
Removed signal handling and usleep(5000) from cDvbOsd::Cmd()
-rw-r--r-- | HISTORY | 7 | ||||
-rw-r--r-- | config.h | 4 | ||||
-rw-r--r-- | dvbosd.c | 13 |
3 files changed, 9 insertions, 15 deletions
@@ -1959,7 +1959,7 @@ Video Disk Recorder Revision History 2003-02-16: Version 1.1.25 -- Fixed high CPU load during replay (thanks Marcel Wiesweg for pointing out this +- Fixed high CPU load during replay (thanks to Marcel Wiesweg for pointing out this one). - Fixed margin handling in cRingBufferLinear. - Now polling the output device in 'Transfer Mode' and retrying to put packets @@ -1970,3 +1970,8 @@ Video Disk Recorder Revision History - Fixed broken support for raw OSDs of plugins (thanks to Marcel Wiesweg for reporting this one). - Broken CAM connections are now restored automatically. + +2003-03-09: Version 1.1.26 + +- Removed signal handling and usleep(5000) from cDvbOsd::Cmd() (apparently this + is no longer necessary with DVB driver 1.0.0pre2 or later). @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.h 1.149 2003/02/15 11:01:04 kls Exp $ + * $Id: config.h 1.150 2003/03/09 10:01:02 kls Exp $ */ #ifndef __CONFIG_H @@ -19,7 +19,7 @@ #include "device.h" #include "tools.h" -#define VDRVERSION "1.1.25" +#define VDRVERSION "1.1.26" #define MAXPRIORITY 99 #define MAXLIFETIME 99 @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbosd.c 1.19 2002/08/25 09:53:51 kls Exp $ + * $Id: dvbosd.c 1.20 2003/03/09 09:59:13 kls Exp $ */ #include "dvbosd.h" @@ -60,18 +60,7 @@ void cDvbOsd::Cmd(OSD_Command cmd, int color, int x0, int y0, int x1, int y1, co dc.x1 = x1; dc.y1 = y1; dc.data = (void *)data; - // 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(osdDev, OSD_SEND_CMD, &dc); - if (cmd == OSD_SetBlock) // XXX this is the only command that takes longer - usleep(5000); // XXX Workaround for a driver bug (cInterface::DisplayChannel() displayed texts at wrong places - // XXX and sometimes the OSD was no longer displayed). - // XXX Increase the value if the problem still persists on your particular system. - // TODO Check if this is still necessary with driver versions after 0.7. - sigprocmask(SIG_SETMASK, &oldset, NULL); } } |