Fix conflict

db4
Slava Pestov 2008-05-16 00:57:52 -05:00
parent 802fa2f11c
commit 95aaf32373
1 changed files with 11 additions and 9 deletions

View File

@ -70,18 +70,20 @@ M: object (server) ( addrspec -- handle )
dup handle-fd 10 listen io-error dup handle-fd 10 listen io-error
] with-destructors ; ] with-destructors ;
: do-accept ( server addrspec -- fd ) : do-accept ( server addrspec -- fd sockaddr )
[ handle>> handle-fd ] [ empty-sockaddr/size <int> ] bi* accept ; inline [ handle>> handle-fd ] [ empty-sockaddr/size <int> ] bi*
[ accept ] 2keep drop ; inline
M:: object (accept) ( server addrspec -- fd sockaddr ) M: object (accept) ( server addrspec -- fd sockaddr )
server addrspec do-accept 2dup do-accept
{ {
{ [ dup 0 >= ] [ <fd> dup addrspec (get-remote-sockaddr) ] } { [ over 0 >= ] [ >r 2nip <fd> r> ] }
{ [ err_no EINTR = ] [ drop (accept) ] } { [ err_no EINTR = ] [ 2drop (accept) ] }
{ [ err_no EAGAIN = ] [ { [ err_no EAGAIN = ] [
drop 2drop
server +input+ wait-for-port [ drop +input+ wait-for-port ]
server addrspec (accept) [ (accept) ]
2bi
] } ] }
[ (io-error) ] [ (io-error) ]
} cond ; } cond ;