Hi Brian ,  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"  ....



Best regards, Matthias



From: Brian Burkhalter <brian.burkhal...@oracle.com>
Sent: Donnerstag, 2. August 2018 16:59
To: Baesken, Matthias <matthias.baes...@sap.com>
Cc: core-libs-dev@openjdk.java.net; Langer, Christoph 
<christoph.lan...@sap.com>; Simonis, Volker <volker.simo...@sap.com>
Subject: Re: [12] (AIX) 8207744: Clean up inconsistent use of opendir/closedir 
versus opendir64/closedir64

Hi Matthias,

Thanks for the build + test.

I will take a look at what you observed. The whole process is a bit protracted 
since I cannot build and test but your assistance is appreciated.

Thanks,

Brian

On Aug 2, 2018, at 5:24 AM, Baesken, Matthias 
<matthias.baes...@sap.com<mailto:matthias.baes...@sap.com>> wrote:


builds + tests  ( with your  change  included)    last night on AIX were good .

However while looking into the coding a bit more, I noticed the following :

IBM states for AIX  :

https://www.ibm.com/support/knowledgecenter/no/ssw_aix_72/com.ibm.aix.basetrf1/opendir.htm

Note An open directory by opendir64subroutine must always be closed with 
theclosedir64 subroutine to ensure that the next attempt to open that directory 
is successful. In addition,
it must be operated using the 64-bit interfaces (readdir64, telldir64, 
seekdir64,rewinddir64, and closedir64) to obtain the correct directory 
information.


However this is  currently not the case everywhere  : for example I see in

http://cr.openjdk.java.net/~bpb/8207744/webrev.01/src/java.base/share/native/libjli/wildcard.c.frames.html

a readdir   (without 64).

Same for
http://cr.openjdk.java.net/~bpb/8207744/webrev.01/raw_files/new/src/java.base/unix/native/libjava/ProcessHandleImpl_unix.c

Reply via email to