From 1c7f9c81b495dfd367b0c947f09cfde819fa1ea3 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 12 Aug 2007 12:30:00 +0200 Subject: [PATCH] Added a debug error message to cReceiver::~cReceiver() in case it is still attached to a device --- CONTRIBUTORS | 2 ++ HISTORY | 2 ++ receiver.c | 9 +++++++-- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index f748f6fd..ea354f20 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1127,6 +1127,8 @@ Reinhard Nissl with open file handles when starting background commands for fixing handling error status in cDvbTuner::GetFrontendStatus() for fixing a busy loop in fast forward if the next video data file is missing + for adding a debug error message to cReceiver::~cReceiver() in case it is still + attached to a device Richard Robson for reporting freezing replay if a timer starts while in Transfer Mode from the diff --git a/HISTORY b/HISTORY index c8ff1e7a..c2d9aa7e 100644 --- a/HISTORY +++ b/HISTORY @@ -5343,3 +5343,5 @@ Video Disk Recorder Revision History - cBitmap::SetXpm() now checks whether the given Xpm pointer is not NULL, to avoid a crash with files that only contain "/* XPM */" (suggested by Andreas Mair). +- Added a debug error message to cReceiver::~cReceiver() in case it is still + attached to a device (thanks to Reinhard Nissl). diff --git a/receiver.c b/receiver.c index b74a18bf..4f537e23 100644 --- a/receiver.c +++ b/receiver.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: receiver.c 1.6 2007/01/07 14:42:29 kls Exp $ + * $Id: receiver.c 1.7 2007/08/12 12:30:00 kls Exp $ */ #include "receiver.h" @@ -38,7 +38,12 @@ cReceiver::cReceiver(tChannelID ChannelID, int Priority, int Pid, const int *Pid cReceiver::~cReceiver() { - Detach(); + if (device) { + const char *msg = "ERROR: cReceiver has not been detached yet! This is a design fault and VDR will segfault now!"; + esyslog(msg); + fprintf(stderr, "%s\n", msg); + *(char *)0 = 0; // cause a segfault + } } bool cReceiver::WantsPid(int Pid)