On Windows, the overlapped structure high bits were always zero, so reading through a file > 4gb would loop forever.
parent
d23105c6c3
commit
8464b116fc
|
|
@ -68,7 +68,10 @@ C: <io-callback> io-callback
|
|||
|
||||
: make-overlapped ( port -- overlapped-ext )
|
||||
[ (make-overlapped) ] dip
|
||||
handle>> ptr>> [ >>offset ] when* ;
|
||||
handle>> ptr>> [
|
||||
[ 32 bits >>offset ]
|
||||
[ -32 shift >>offset-high ] bi
|
||||
] when* ;
|
||||
|
||||
M: windows FileArgs-overlapped ( port -- overlapped )
|
||||
make-overlapped ;
|
||||
|
|
|
|||
Loading…
Reference in New Issue