summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY2
-rw-r--r--INSTALL9
-rw-r--r--vdr.c13
3 files changed, 22 insertions, 2 deletions
diff --git a/HISTORY b/HISTORY
index 1a765f46..05afc85c 100644
--- a/HISTORY
+++ b/HISTORY
@@ -3122,3 +3122,5 @@ Video Disk Recorder Revision History
- Fixed cChannel::SetName() in case only the ShortName or Provider has changed
(thanks to Sascha Volkenandt for reporting this one).
- Added Danish language texts (thanks to Mogens Elneff).
+- Reactivated the NPTL check at startup because there appear to be still
+ unsolved problems when running on NPTL systems.
diff --git a/INSTALL b/INSTALL
index 2b363d44..f054d7ab 100644
--- a/INSTALL
+++ b/INSTALL
@@ -7,7 +7,14 @@ Version 1.3
IMPORTANT NOTES:
----------------
-Please make sure your environment is NOT set to use UTF-8 or
+VDR currently doesn't work with NPTL ("Native Posix Thread Library").
+Either don't use NPTL, or set the environment variable
+
+ LD_ASSUME_KERNEL=2.4.1
+
+before running VDR.
+
+Also, please make sure your environment is NOT set to use UTF-8 or
any other multibyte character representation. Check the value of your
$LANG or $LC_CTYPE environment variable, and if it contains something
like "de_DE.UTF-8", make sure you set it to something like "de_DE.iso8859-1"
diff --git a/vdr.c b/vdr.c
index d91308f5..c82f2b44 100644
--- a/vdr.c
+++ b/vdr.c
@@ -22,7 +22,7 @@
*
* The project's page is at http://www.cadsoft.de/vdr
*
- * $Id: vdr.c 1.192 2004/10/31 10:17:23 kls Exp $
+ * $Id: vdr.c 1.193 2004/11/06 10:30:30 kls Exp $
*/
#include <getopt.h>
@@ -87,6 +87,17 @@ static void Watchdog(int signum)
int main(int argc, char *argv[])
{
+#ifdef _CS_GNU_LIBPTHREAD_VERSION
+ // Check for NPTL and exit if present - VDR apparently doesn't run well with NPTL:
+ char LibPthreadVersion[128];
+ if (confstr(_CS_GNU_LIBPTHREAD_VERSION, LibPthreadVersion, sizeof(LibPthreadVersion)) > 0) {
+ if (strstr(LibPthreadVersion, "NPTL")) {
+ fprintf(stderr, "vdr: please turn off NPTL by setting 'export LD_ASSUME_KERNEL=2.4.1' before starting VDR\n");
+ return 2;
+ }
+ }
+#endif
+
// Check for UTF-8 and exit if present - asprintf() will fail if it encounters 8 bit ASCII codes
char *LangEnv;
if ((LangEnv = getenv("LANG")) != NULL && strcasestr(LangEnv, "utf") ||