Looks good!
On Thu, Dec 17, 2015 at 12:14 AM, vyom <vyom.tew...@oracle.com> wrote: > Hi Martin, > > thanks for review, i undated the > webrev(http://cr.openjdk.java.net/~vtewari/4823133/webrev0.2/ > <http://cr.openjdk.java.net/%7Evtewari/4823133/webrev0.2/>) as per your > comment after confirming that the corresponding "fd" if opened with > "open64". > > Thanks, > Vyom > > > > On Thursday 17 December 2015 12:38 AM, Martin Buchholz wrote: >> >> Calling naked fstat without _FILE_OFFSET_BITS=64 is a bug. Don't you >> need to call fstat64 if it's available? >> >> +jlong >> +handleGetLength(FD fd) >> +{ >> + struct stat sb; >> + if (fstat(fd, &sb) == 0) { >> + return sb.st_size; >> + } else { >> + return -1; >> + } >> +} >> >> On Wed, Dec 16, 2015 at 5:02 AM, vyom <vyom.tew...@oracle.com> wrote: >>> >>> Hi, >>> >>> Updated the webrev(http://cr.openjdk.java.net/~vtewari/4823133/webrev0.1/ >>> <http://cr.openjdk.java.net/%7Evtewari/4823133/webrev0.1/>) as per Martin >>> review comment removed the _FILE_OFFSET_BITS from source. >>> >>> Thanks, >>> Vyom >>> >>> >>> >>> On Tuesday 15 December 2015 10:55 PM, Martin Buchholz wrote: >>>> >>>> _FILE_OFFSET_BITS is generally an all-or-nothing thing, because it >>>> affects interoperability between translation units. It would be good >>>> to convert all of the JDK build to use -D_FILE_OFFSET_BITS=64, but >>>> that would be a big job. So traditionally the JDK has instead used >>>> the functions made available via _LARGEFILE64_SOURCE. But that is >>>> also a JDK-wide job now, because every call to plain stat in the >>>> source code is broken on 32-bit systems with 64-bit inodes, which are >>>> becoming more common. >>>> >>>> I recommend the _FILE_OFFSET_BITS=64 strategy, but it's probably a job >>>> for build-dev, not core-libs-dev. >>>> >>>> >>>> >>>> >>>> On Tue, Dec 15, 2015 at 8:31 AM, Roger Riggs <roger.ri...@oracle.com> >>>> wrote: >>>>> >>>>> Hi Yvom, >>>>> >>>>> Minor comments: >>>>> >>>>> src/java.base/share/native/libjava/RandomAccessFile.c: >>>>> - "length fail" might be clearer as "GetLength failed" >>>>> >>>>> src/java.base/unix/native/libjava/io_util_md.c: >>>>> >>>>> - Please add a comment before the define of FILE_OFFSET_BITS to >>>>> indicate >>>>> where it is used and why it is there. >>>>> - BTW, are there any unintended side effects? >>>>> Perhaps a different issue but perhaps 64 bit offsets should be >>>>> used >>>>> everywhere >>>>> >>>>> src/java.base/windows/native/libjava/io_util_md.c >>>>> - Line 592: Using INVALID_HANDLE_VALUE is better than -1 and is used >>>>> elsewhere in the file >>>>> BTW, Testing for invalid handle might be unnecessary since the >>>>> call >>>>> to >>>>> GetFileSizeEx will fail >>>>> if it is invalid, yielding the same result. >>>>> >>>>> Roger >>>>> >>>>> >>>>> On 12/10/2015 5:52 AM, vyom wrote: >>>>>> >>>>>> Hi All, >>>>>> >>>>>> Please review my changes for below bug. >>>>>> >>>>>> Bug: JDK-4823133 : RandomAccessFile.length() is not thread-safe >>>>>> >>>>>> Webrev:http://cr.openjdk.java.net/~vtewari/4823133/webrev0.0/ >>>>>> <http://cr.openjdk.java.net/%7Evtewari/4823133/webrev0.0/> >>>>>> >>>>>> This change ensure that length() does not temporarily changes the >>>>>> file >>>>>> pointer and it will make sure that there is no race >>>>>> condition in case of multi thread uses. >>>>>> >>>>>> Thanks, >>>>>> Vyom >>>>>> >>>>>> >>>>>> >>>>>> >