summaryrefslogtreecommitdiff
path: root/plugin.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2006-08-13 18:00:00 +0200
committerKlaus Schmidinger <kls (at) cadsoft (dot) de>2006-08-13 18:00:00 +0200
commitf5ad8fc5d7679433faf6a7465b5cfd54a7c10f8b (patch)
tree3a96e6b94455356b9844f25a6d091832ef501546 /plugin.c
parent33f1491b18c201ecda4ff2c34f606d9f5f041489 (diff)
downloadvdr-patch-lnbsharing-f5ad8fc5d7679433faf6a7465b5cfd54a7c10f8b.tar.gz
vdr-patch-lnbsharing-f5ad8fc5d7679433faf6a7465b5cfd54a7c10f8b.tar.bz2
Version 1.4.1-4vdr-1.4.1-4
- Fixed converting the port number in the "connect from..." log message of SVDRP (thanks to Ville Skyttä). - Made the cCiSession members sessionId and resourceId uint16_t and uint32_t, respectively, to match their types in the CI session data (thanks to Ville Skyttä for reporting that there are places where ntohs() is assigned to different types). - Changed the way a device is selected for receiving in order to keep devices with CAMs better available, even if this means recording on the primary device (reported by Jörn Reder; thanks to Anssi Hannula for improving handling Transfer Mode devices in this). - No longer stopping removing empty directories if an error occurs (thanks to Oliver Endriss). - Added a log error message to cPlugin::ConfigDirectory() in case a plugin calls it from a separate thread (reported by Udo Richter).
Diffstat (limited to 'plugin.c')
-rw-r--r--plugin.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/plugin.c b/plugin.c
index 82cbd69..40b4494 100644
--- a/plugin.c
+++ b/plugin.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: plugin.c 1.22 2006/04/17 09:20:05 kls Exp $
+ * $Id: plugin.c 1.23 2006/08/13 08:51:44 kls Exp $
*/
#include "plugin.h"
@@ -15,6 +15,7 @@
#include <time.h>
#include "config.h"
#include "interface.h"
+#include "thread.h"
#define LIBVDR_PREFIX "libvdr-"
#define SO_INDICATOR ".so."
@@ -137,6 +138,8 @@ void cPlugin::SetConfigDirectory(const char *Dir)
const char *cPlugin::ConfigDirectory(const char *PluginName)
{
static char *buffer = NULL;
+ if (!cThread::IsMainThread())
+ esyslog("ERROR: plugin '%s' called cPlugin::ConfigDirectory(), which is not thread safe!", PluginName ? PluginName : "<no name given>");
free(buffer);
asprintf(&buffer, "%s/plugins%s%s", configDirectory, PluginName ? "/" : "", PluginName ? PluginName : "");
return MakeDirs(buffer, true) ? buffer : NULL;