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 <[email protected]>
Sent: Samstag, 4. August 2018 00:08
To: Baesken, Matthias <[email protected]>
Cc: [email protected]; Langer, Christoph
<[email protected]>; Simonis, Volker <[email protected]>;
Lindenmaier, Goetz <[email protected]>
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
<[email protected]<mailto:[email protected]>> 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" ....