summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2002-07-14 14:35:16 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2002-07-14 14:35:16 +0200
commit9b94097931e55794de02a6abc4d0defef82427b0 (patch)
treed2554cbc33ffb37a89c5f51e02c7df2dcb88e1f0
parent17699edebbb2a123044ce30775eaf984ef9f7bd9 (diff)
downloadvdr-9b94097931e55794de02a6abc4d0defef82427b0.tar.gz
vdr-9b94097931e55794de02a6abc4d0defef82427b0.tar.bz2
Fixed a possible race condition in the cDvbPlayer
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY2
-rw-r--r--dvbplayer.c5
3 files changed, 5 insertions, 3 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index c281388f..58fc6761 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -156,6 +156,7 @@ Andreas Schultz <aschultz@warp10.net>
for fixing a bug in the EPG bugfix mechanism if the extended description is shorter
than 3 characters
for adding direct access to the index data of cPalette (needed for displaying SPUs)
+ for pointing out a possible race condition in the cDvbPlayer
Aaron Holtzman
for writing 'ac3dec'
diff --git a/HISTORY b/HISTORY
index 1d95e933..0b735639 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1375,3 +1375,5 @@ Video Disk Recorder Revision History
provide a name to simply use a string that describes the player type (like, e.g.,
"DVD").
- Fixed a hangup when switching to the next file during replay.
+- Fixed a possible race condition in the cDvbPlayer (thanks to Andreas Schultz
+ for pointing out this one).
diff --git a/dvbplayer.c b/dvbplayer.c
index d840543a..af6b28da 100644
--- a/dvbplayer.c
+++ b/dvbplayer.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbplayer.c 1.6 2002/07/14 12:24:59 kls Exp $
+ * $Id: dvbplayer.c 1.7 2002/07/14 14:30:36 kls Exp $
*/
#include "dvbplayer.h"
@@ -132,7 +132,7 @@ cDvbPlayer::cDvbPlayer(const char *FileName)
backTrace = NULL;
index = NULL;
eof = false;
- active = false;
+ active = true;
playMode = pmPlay;
playDir = pdForward;
trickSpeed = NORMAL_SPEED;
@@ -292,7 +292,6 @@ void cDvbPlayer::Activate(bool On)
void cDvbPlayer::Action(void)
{
- active = true;
dsyslog("dvbplayer thread started (pid=%d)", getpid());
uchar b[MAXFRAMESIZE];