refill-stdin ( buffer stdin size -- ) (original) (raw)
refill-stdin ( buffer stdin size -- )
Inputs
buffer | an object |
---|---|
stdin | an object |
size | an object |
Outputs
None
Definition
USING: accessors io.buffers kernel libc math unix.ffi ;
:: refill-stdin ( buffer stdin size -- )
stdin data>> handle-fd buffer buffer-end size read dup 0 < [
drop errno EINTR =
[ buffer stdin size refill-stdin ] [ throw-errno ] if
] [
size = [ "Error reading stdin pipe" throw ] unless
size buffer buffer+
] if ;