mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-20 04:56:32 +00:00
Implement non-blocking connect
This commit is contained in:
committed by
Tate, Hongliang Tian
parent
9211061181
commit
27c5c27fd0
@ -63,7 +63,7 @@ FN_SETUP(connected)
|
||||
sk_addr.sin_port = S_PORT;
|
||||
CHECK_WITH(connect(sk_connected, (struct sockaddr *)&sk_addr,
|
||||
sizeof(sk_addr)),
|
||||
_ret == 0 || errno == EINPROGRESS);
|
||||
_ret < 0 && errno == EINPROGRESS);
|
||||
}
|
||||
END_SETUP()
|
||||
|
||||
@ -253,3 +253,18 @@ FN_TEST(poll)
|
||||
(pfd.revents & (POLLIN | POLLOUT)) == POLLOUT);
|
||||
}
|
||||
END_TEST()
|
||||
|
||||
FN_TEST(connect)
|
||||
{
|
||||
struct sockaddr *psaddr = (struct sockaddr *)&sk_addr;
|
||||
socklen_t addrlen = sizeof(sk_addr);
|
||||
|
||||
TEST_ERRNO(connect(sk_listen, psaddr, addrlen), EISCONN);
|
||||
|
||||
TEST_ERRNO(connect(sk_connected, psaddr, addrlen), 0);
|
||||
|
||||
TEST_ERRNO(connect(sk_connected, psaddr, addrlen), EISCONN);
|
||||
|
||||
TEST_ERRNO(connect(sk_accepted, psaddr, addrlen), EISCONN);
|
||||
}
|
||||
END_TEST()
|
||||
|
Reference in New Issue
Block a user