fix win32 io for streams
parent
73f4de490a
commit
b0932edbb6
|
@ -16,7 +16,6 @@ TUPLE: io-callback overlapped quotation stream ;
|
|||
997
|
||||
] member? ;
|
||||
|
||||
USE: prettyprint
|
||||
: handle-io-error ( -- )
|
||||
GetLastError expected-error? [ win32-throw-error ] unless ;
|
||||
|
||||
|
|
|
@ -70,7 +70,6 @@ M: win32-client-stream client-stream-port ( win32-client-stream -- port )
|
|||
|
||||
IN: io
|
||||
|
||||
USE: interpreter
|
||||
SYMBOL: serv
|
||||
: accept ( server -- client )
|
||||
[
|
||||
|
|
|
@ -4,13 +4,11 @@ IN: win32-stream
|
|||
USING: alien errors generic hashtables io-internals kernel
|
||||
kernel-internals math namespaces prettyprint sequences
|
||||
io strings threads win32-api win32-io-internals ;
|
||||
USE: interpreter
|
||||
|
||||
TUPLE: win32-stream handle timeout cutoff fileptr file-size ;
|
||||
TUPLE: win32-stream-reader in ;
|
||||
TUPLE: win32-stream-writer out ;
|
||||
TUPLE: win32-duplex-stream ;
|
||||
SYMBOL: stream
|
||||
|
||||
: win32-buffer-size 16384 ; inline
|
||||
|
||||
|
@ -45,7 +43,7 @@ SYMBOL: stream
|
|||
over win32-stream-reader-in
|
||||
[ buffer@ ] keep buffer-capacity
|
||||
>r pick r> swap dup win32-stream-file-size
|
||||
[ swap win32-stream-fileptr - min ] when*
|
||||
[ swap win32-stream-fileptr - min ] [ drop ] if*
|
||||
f r> ReadFile zero? [ handle-io-error ] when stop
|
||||
] callcc1 [ over win32-stream-reader-in n>buffer ] keep
|
||||
swap update-file-pointer ;
|
||||
|
|
Loading…
Reference in New Issue