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