Fix conflict
parent
802fa2f11c
commit
95aaf32373
|
@ -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 ;
|
||||||
|
|
Loading…
Reference in New Issue