Hi Dmitry,
thanks for the review can you please explain little bit more, as per my
testing and implementation i did not found any differences with fix and
without fix. Even i checked the java.io.File.length() and there also it
looks like we are using stat64().
as per you mail i truncate the file and with and without fix length is
102400, can you please explain little bit more about the problem that
you mention it will be help full for me to debug further.
Thanks,
Vyom
On Friday 18 December 2015 05:35 PM, Dmitry Samersoff wrote:
Vyom,
If I read the changes correctly, current code returns result of lseek()
but your code returns result of fstat().
I'm not sure it's a correct replacement.
dooku:test#truncate --size=102400 test.me
dooku:test#./test
STAT: 102400 0 Success
SEEK: 2 0 Success
Moreover, if you truncate a file to value that large than available free
space, lseek returns appropriate error but stat - not.
-Dmitry
On 2015-12-16 11:56, vyom wrote:
Hi All,
Please find the updated
webrev(http://cr.openjdk.java.net/~vtewari/4823133/webrev0.1/
<http://cr.openjdk.java.net/%7Evtewari/4823133/webrev0.1/>). I
incorporated the review comments by Roger Riggs.
Thanks,
Vyom
On Tuesday 15 December 2015 10:01 PM, Roger Riggs 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