[12] (AIX) 8207744: Clean up inconsistent use of opendir/closedir versus opendir64/closedir64
Baesken, Matthias
matthias.baesken at sap.com
Tue Aug 7 10:12:29 UTC 2018
Hi Brian, small remark from my side , looks like you changed in
src/java.base/unix/native/libjava/TimeZone_md.c
src/java.base/unix/native/libjava/childproc.c
and
src/jdk.management/unix/native/libmanagement_ext/OperatingSystemImpl.c
at some places dirent64 / readdir64 to dirent / readdir
in the linux/solaris coding.
for example
TimeZone_md.c
122 static char *
123 findZoneinfoFile(char *buf, size_t size, const char *dir)
124 {
125 DIR *dirp = NULL;
126 struct stat statbuf;
127 struct dirent *dp = NULL;.
Was it intended to change for linux/solaris ?
Best regards , Matthias
From: Brian Burkhalter <brian.burkhalter at oracle.com>
Sent: Samstag, 4. August 2018 00:08
To: Baesken, Matthias <matthias.baesken at sap.com>
Cc: core-libs-dev at openjdk.java.net; Langer, Christoph <christoph.langer at sap.com>; Simonis, Volker <volker.simonis at sap.com>; Lindenmaier, Goetz <goetz.lindenmaier at sap.com>
Subject: Re: [12] (AIX) 8207744: Clean up inconsistent use of opendir/closedir versus opendir64/closedir64
HI Matthias,
I think I fixed the dirent problem: thanks for pointing it out.
http://cr.openjdk.java.net/~bpb/8207744/webrev.03/
The usual builds passed and tests are running.
I think that there is some _ALLBSD_SOURCE cruft in UnixNativeDispatcher.c which could be cleaned up but we'll leave that for another day.
Thanks,
Brian
On Aug 2, 2018, at 11:57 PM, Baesken, Matthias <matthias.baesken at sap.com<mailto:matthias.baesken at sap.com>> wrote:
looks like the function
struct dirent64 *readdir64 (DIR64 *DirectoryPointer);
returns dirent64* ( according to https://www.ibm.com/support/knowledgecenter/no/ssw_aix_72/com.ibm.aix.basetrf1/opendir.htm )
and some of the files below still have dirent* on AIX ( at some places it is redefined ).
For example :
http://cr.openjdk.java.net/~bpb/8207744/webrev.02/src/java.base/unix/native/libjava/ProcessHandleImpl_unix.c.frames.html
508 jint unix_getChildren(JNIEnv *env, jlong jpid, jlongArray jarray,
509 jlongArray jparentArray, jlongArray jstimesArray) {
510 DIR* dir;
511 struct dirent* ptr;
Not sure if this is really an issue in "real life" ....
More information about the core-libs-dev
mailing list