1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Reactivated the NPTL check at startup

This commit is contained in:
Klaus Schmidinger 2004-11-06 10:32:00 +01:00
parent 042523bf2b
commit 263c3c01a2
3 changed files with 22 additions and 2 deletions

View File

@ -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.

View File

@ -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"

13
vdr.c
View File

@ -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") ||