RFR: 8238161: use os::fopen in HS code where possible
David Holmes
david.holmes at oracle.com
Mon Feb 3 13:25:31 UTC 2020
On 3/02/2020 10:35 pm, Baesken, Matthias wrote:
> Hi David, from what I understand it should behave in the same way it does when a file descriptor to a "normal" file is opened .
> At least checking for the FD_CLOEXEC flag for such an fd works as expected
>
> /* check that O_CLOEXEC works */
> int fd = open64("/proc/cpuinfo", O_CLOEXEC, 0444);
> int flags;
>
> flags = ::fcntl(fd, F_GETFD);
> if (flags != -1) {
> if ((flags & FD_CLOEXEC) != 0) {
> printf("setting O_CLOEXEC with open seems to work.\n");
> } else {
> printf("PROBLEM setting O_CLOEXEC with open !\n");
> }
> }
>
>
> ... outputs : "setting O_CLOEXEC with open seems to work."
I expect it to be applicable but does it actually do anything such that
it is necessary to go and make these changes for /proc filesystem
usages? This is probably harmless but it also seems somewhat unnecessary
to do.
David
>
> Best regards, Matthias
>
>
>
>
>> Hi Matthias,
>>
>> Does close-on-exec have any meaning when applied to /proc filesystem ??
>>
>> Thanks,
>> David
>>
>> On 31/01/2020 1:47 am, Baesken, Matthias wrote:
>>> Please review this change which adjusts a number of calls (in HS code)
>> from using fopen to os::fopen .
>>>
>>> There exists for some time a function os::fopen in HS code . This function
>> sets "close-on-exec" flags (when possible) to the opened filedescriptor.
>>> It might have some benefits to use os::fopen more in HS code, currently
>> there are still quite a few calls directly to fopen .
>>> (however there are also already a number of calls to os::fopen e.g. some
>> calls in os_linux.cpp /os_solaris.cpp should already look up os::fopen , and
>> logFileOutput.cpp uses os::fopen directly )
>>>
>>>
>>> see also the thread
>>> https://mail.openjdk.java.net/pipermail/hotspot-dev/2020-
>> January/040641.html
>>> on hotspot-dev about the topic.
>>>
>>>
>>>
>>> Bug/webrev :
>>>
>>> https://bugs.openjdk.java.net/browse/JDK-8238161
>>>
>>> http://cr.openjdk.java.net/~mbaesken/webrevs/8238161.0/
>>>
>>>
>>> Thanks, Matthias
>>>
More information about the hotspot-dev
mailing list