Improved handling missing VDRPluginDestroyer()

This commit is contained in:
Klaus Schmidinger 2020-12-16 11:54:06 +01:00
parent 67a4ba4228
commit 82cc5c76a4
3 changed files with 8 additions and 2 deletions

View File

@ -2771,6 +2771,7 @@ Winfried K
for reporting a bug in checking the return value of the Open() call in for reporting a bug in checking the return value of the Open() call in
cFileName::SetOffset() cFileName::SetOffset()
for adding initialization of cDvbFrontend::frontendInfo for adding initialization of cDvbFrontend::frontendInfo
for improving handling missing VDRPluginDestroyer()
Hans-Werner Hilse <hilse@web.de> Hans-Werner Hilse <hilse@web.de>
for adding the command line option --userdump to enable core dumps in case VDR for adding the command line option --userdump to enable core dumps in case VDR

View File

@ -9536,7 +9536,7 @@ Video Disk Recorder Revision History
cDvbTuner::GetSignalStats() to avoid problems with drivers that don't do this cDvbTuner::GetSignalStats() to avoid problems with drivers that don't do this
(thanks to Helmut Binder). (thanks to Helmut Binder).
2020-12-13: 2020-12-16:
- Fixed multiple recording entries in case a recording is started during the initial - Fixed multiple recording entries in case a recording is started during the initial
reading of the video directory (reported by Claus Muus). reading of the video directory (reported by Claus Muus).
@ -9556,3 +9556,4 @@ Video Disk Recorder Revision History
- Avoiding a lengthy lock on the Channels list when starting a recording (thanks to - Avoiding a lengthy lock on the Channels list when starting a recording (thanks to
Helmut Binder). Helmut Binder).
- Fixed error handling when loading a plugin (reported by Markus Ehrnsperger). - Fixed error handling when loading a plugin (reported by Markus Ehrnsperger).
- Improved handling missing VDRPluginDestroyer() (thanks to Winfried Köhler).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: plugin.c 4.3 2020/12/13 10:56:36 kls Exp $ * $Id: plugin.c 4.4 2020/12/16 11:54:06 kls Exp $
*/ */
#include "plugin.h" #include "plugin.h"
@ -234,6 +234,10 @@ bool cDll::Load(bool Log)
plugin = create(); plugin = create();
destroy = (destroy_t *)dlsym(handle, "VDRPluginDestroyer"); destroy = (destroy_t *)dlsym(handle, "VDRPluginDestroyer");
error = dlerror(); error = dlerror();
if (error) {
error = NULL;
isyslog("plugin %s: missing symbol VDRPluginDestroyer(), please rebuild", fileName);
}
} }
} }
if (!error) { if (!error) {