From d2b815074b745370cc5ebb541dcf41b52ea8c648 Mon Sep 17 00:00:00 2001 From: Andreas Tobler Date: Tue, 1 Aug 2006 22:59:24 +0200 Subject: [PATCH] natSystemProperties.cc: Add additional check for getpwuid_r on _POSIX_PTHREAD_SEMANTICS. 2006-08-01 Andreas Tobler * gnu/classpath/natSystemProperties.cc: Add additional check for getpwuid_r on _POSIX_PTHREAD_SEMANTICS. (SystemProperties::insertSystemProperties): Likewise. * java/io/natFilePosix.cc (File::performList): Add additional check for readdir_r on _POSIX_PTHREAD_SEMANTICS. * java/util/natVMTimeZone.cc (VMTimeZone::getSystemTimeZoneId): Add additional check for localtime_r on _POSIX_PTHREAD_SEMANTICS. From-SVN: r115864 --- libjava/ChangeLog | 10 ++++++++++ libjava/gnu/classpath/natSystemProperties.cc | 4 ++-- libjava/java/io/natFilePosix.cc | 5 +++-- libjava/java/util/natVMTimeZone.cc | 6 +++--- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 194f263f49f..69916d9ee1a 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,13 @@ +2006-08-01 Andreas Tobler + + * gnu/classpath/natSystemProperties.cc: Add additional check for + getpwuid_r on _POSIX_PTHREAD_SEMANTICS. + (SystemProperties::insertSystemProperties): Likewise. + * java/io/natFilePosix.cc (File::performList): Add + additional check for readdir_r on _POSIX_PTHREAD_SEMANTICS. + * java/util/natVMTimeZone.cc (VMTimeZone::getSystemTimeZoneId): Add + additional check for localtime_r on _POSIX_PTHREAD_SEMANTICS. + 2006-07-31 Thomas Fitzsimmons PR libgcj/28312 diff --git a/libjava/gnu/classpath/natSystemProperties.cc b/libjava/gnu/classpath/natSystemProperties.cc index ad0ff1c1ed8..e78ca74e745 100644 --- a/libjava/gnu/classpath/natSystemProperties.cc +++ b/libjava/gnu/classpath/natSystemProperties.cc @@ -82,7 +82,7 @@ file_encoding () static const char *default_file_encoding = DEFAULT_FILE_ENCODING; -#if HAVE_GETPWUID_R +#if defined(HAVE_GETPWUID_R) && defined(_POSIX_PTHREAD_SEMANTICS) /* Use overload resolution to find out the signature of getpwuid_r. */ /* This is Posix getpwuid_r. */ @@ -223,7 +223,7 @@ gnu::classpath::SystemProperties::insertSystemProperties (java::util::Properties uid_t user_id = getuid (); struct passwd *pwd_entry; -#ifdef HAVE_GETPWUID_R +#if defined(HAVE_GETPWUID_R) && defined(_POSIX_PTHREAD_SEMANTICS) struct passwd pwd_r; size_t len_r = 200; char *buf_r = (char *) _Jv_AllocBytes (len_r); diff --git a/libjava/java/io/natFilePosix.cc b/libjava/java/io/natFilePosix.cc index ff634b0c2d4..c9bf858f187 100644 --- a/libjava/java/io/natFilePosix.cc +++ b/libjava/java/io/natFilePosix.cc @@ -1,6 +1,7 @@ // natFile.cc - Native part of File class for POSIX. -/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation +/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006 + Free Software Foundation This file is part of libgcj. @@ -288,7 +289,7 @@ java::io::File::performList (java::io::FilenameFilter *filter, java::util::ArrayList *list = new java::util::ArrayList (); struct dirent *d; -#ifdef HAVE_READDIR_R +#if defined(HAVE_READDIR_R) && defined(_POSIX_PTHREAD_SEMANTICS) int name_max = pathconf (buf, _PC_NAME_MAX); char dbuf[sizeof (struct dirent) + name_max + 1]; while (readdir_r (dir, (struct dirent *) dbuf, &d) == 0 && d != NULL) diff --git a/libjava/java/util/natVMTimeZone.cc b/libjava/java/util/natVMTimeZone.cc index a6d701642f6..d45ebf97853 100644 --- a/libjava/java/util/natVMTimeZone.cc +++ b/libjava/java/util/natVMTimeZone.cc @@ -1,6 +1,6 @@ // natVMTimeZone.cc -- Native side of VMTimeZone class. -/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 +/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006 Free Software Foundation This file is part of libgcj. @@ -54,7 +54,7 @@ jstring java::util::VMTimeZone::getSystemTimeZoneId() { struct tm tim; -#ifndef HAVE_LOCALTIME_R +#if !defined(HAVE_LOCALTIME_R) || !defined(_POSIX_PTHREAD_SEMANTICS) struct tm *lt_tim; #endif #ifdef HAVE_TM_ZONE @@ -66,7 +66,7 @@ java::util::VMTimeZone::getSystemTimeZoneId() char *tzid; time(¤t_time); -#ifdef HAVE_LOCALTIME_R +#if defined(HAVE_LOCALTIME_R) && defined(_POSIX_PTHREAD_SEMANTICS) localtime_r(¤t_time, &tim); #else /* Fall back on non-thread safe localtime. */