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

Reply via email to