aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorAndreas Tobler <a.tobler@schweiz.ch>2006-08-01 22:59:24 +0200
committerAndreas Tobler <andreast@gcc.gnu.org>2006-08-01 22:59:24 +0200
commitd2b815074b745370cc5ebb541dcf41b52ea8c648 (patch)
tree6cff204b32d7948ab8b445aab320aab3819ec115 /libjava
parent9beafc83cabd13b4ad5783209db8f32998363e08 (diff)
downloadgcc-d2b815074b745370cc5ebb541dcf41b52ea8c648.zip
gcc-d2b815074b745370cc5ebb541dcf41b52ea8c648.tar.gz
gcc-d2b815074b745370cc5ebb541dcf41b52ea8c648.tar.bz2
natSystemProperties.cc: Add additional check for getpwuid_r on _POSIX_PTHREAD_SEMANTICS.
2006-08-01 Andreas Tobler <a.tobler@schweiz.ch> * 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
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog10
-rw-r--r--libjava/gnu/classpath/natSystemProperties.cc4
-rw-r--r--libjava/java/io/natFilePosix.cc5
-rw-r--r--libjava/java/util/natVMTimeZone.cc6
4 files changed, 18 insertions, 7 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 194f263..69916d9 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,13 @@
+2006-08-01 Andreas Tobler <a.tobler@schweiz.ch>
+
+ * 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 <fitzsim@redhat.com>
PR libgcj/28312
diff --git a/libjava/gnu/classpath/natSystemProperties.cc b/libjava/gnu/classpath/natSystemProperties.cc
index ad0ff1c..e78ca74 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 ff634b0..c9bf858 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 a6d7016..d45ebf9 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(&current_time);
-#ifdef HAVE_LOCALTIME_R
+#if defined(HAVE_LOCALTIME_R) && defined(_POSIX_PTHREAD_SEMANTICS)
localtime_r(&current_time, &tim);
#else
/* Fall back on non-thread safe localtime. */