Hi Matthias,

I went back through all this code and looked at the IBM documentation you sent 
and man pages on Linux, macOS, and Solaris trying to get some consistency. This 
is what I came up with:

http://cr.openjdk.java.net/~bpb/8207744/webrev.02/

It built successfully on our usual Linux, macOS, and Solaris targets. The 
Windows build is still running and tests on the other systems have begun. We’ll 
see how it turns out.

It is not unlikely that there is some historical stuff here that I am ignorant 
of or something specific to these functions which this change would break, so 
it would be good to hear from someone better versed or with some historical 
context. In particular the last comment in [1] by Martin (echoed in lines 
105-106 of [2]) would be worth hearing about. I don’t see that the function 
readdir64() still even exists on Solaris.

Thanks,

Brian

[1] https://bugs.openjdk.java.net/browse/JDK-6339493
[2] 
http://cr.openjdk.java.net/~bpb/8207744/webrev.02/src/java.base/unix/native/libjava/childproc.c-.html

On Aug 2, 2018, at 7:59 AM, Brian Burkhalter <brian.burkhal...@oracle.com> 
wrote:

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