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 /dvbosd.c | |
parent | 6fae0a6d49175b4d71c0a43ddb0c8c2f830c38eb (diff) | |
download | vdr-dfc60da1d5fb03c6007e66df16f5979080171a4b.tar.gz vdr-dfc60da1d5fb03c6007e66df16f5979080171a4b.tar.bz2 |
Removed signal handling and usleep(5000) from cDvbOsd::Cmd()
Diffstat (limited to 'dvbosd.c')
-rw-r--r-- | dvbosd.c | 13 |
1 files changed, 1 insertions, 12 deletions
@@ -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); } } |