diff options
author | Juhani Rankimies <[email protected]> | 2010-09-30 21:08:54 +0300 |
---|---|---|
committer | Juhani Rankimies <[email protected]> | 2010-09-30 21:08:54 +0300 |
commit | 6aae43917d587be7f631673d1e1963fbb2ba15e1 (patch) | |
tree | 9ac81e95ca64357e609832bf519667aafe02b3b9 /erts/emulator/beam/erl_sys_driver.h | |
parent | 8e9a96141120b43b4edf05705a2a261916a902a5 (diff) | |
download | otp-6aae43917d587be7f631673d1e1963fbb2ba15e1.tar.gz otp-6aae43917d587be7f631673d1e1963fbb2ba15e1.tar.bz2 otp-6aae43917d587be7f631673d1e1963fbb2ba15e1.zip |
Fix appending to large files (>4GB) on Windows
Append mode doesn't work for files larger that 4GB on Windows.
Caused by incorrect usage of SetFilePointer in win_efile.c.
Fix uses OVERLAPPED structure to specify write position (EOF).
http://msdn.microsoft.com/en-us/library/aa365747.aspx
Opening file in append mode was also considered, but rejected, because
it might cause backwards incompatibility by limiting applicable
operations on the descriptor.
SetFilePointerEx was not used because it would caused more system calls
than using OVERLAPPED structure.
Diffstat (limited to 'erts/emulator/beam/erl_sys_driver.h')
0 files changed, 0 insertions, 0 deletions