Fix FD leak

db4
Slava Pestov 2008-01-24 23:48:28 -04:00
parent 00d2122a4c
commit 62f076d0c3
1 changed files with 5 additions and 1 deletions

View File

@ -42,11 +42,15 @@ MEMO: 'arguments' ( -- parser )
: assoc>env ( assoc -- env )
[ "=" swap 3append ] { } assoc>map ;
: (redirect)
>r file-mode open dup io-error dup
r> dup2 io-error close drop ;
: redirect ( obj mode fd -- )
{
{ [ pick not ] [ 3drop ] }
{ [ pick +closed+ eq? ] [ close 3drop ] }
{ [ t ] [ >r file-mode open dup io-error r> dup2 io-error ] }
{ [ t ] [ (redirect) ] }
} cond ;
: setup-redirection ( -- )