Handle EAGAIN in some of the read_cb tests
This commit is contained in:
parent
9b49e4c359
commit
af15cbe6e9
@ -132,15 +132,20 @@ static void start_server() {
|
||||
|
||||
static void read_cb(uv_tcp_t* tcp, ssize_t nread, uv_buf_t buf) {
|
||||
/* The server will not send anything, it should close gracefully. */
|
||||
ASSERT(tcp != NULL);
|
||||
ASSERT(nread == -1);
|
||||
ASSERT(uv_last_error().code == UV_EOF);
|
||||
|
||||
if (buf.base) {
|
||||
free(buf.base);
|
||||
}
|
||||
|
||||
uv_close((uv_handle_t*)tcp, close_cb);
|
||||
if (nread != -1) {
|
||||
ASSERT(nread == 0);
|
||||
ASSERT(uv_last_error().code == UV_EAGAIN);
|
||||
} else {
|
||||
ASSERT(tcp != NULL);
|
||||
ASSERT(nread == -1);
|
||||
ASSERT(uv_last_error().code == UV_EOF);
|
||||
uv_close((uv_handle_t*)tcp, close_cb);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -46,8 +46,16 @@ static uv_buf_t alloc_cb(uv_tcp_t* tcp, size_t size) {
|
||||
|
||||
|
||||
static void read_cb(uv_tcp_t* t, ssize_t nread, uv_buf_t buf) {
|
||||
uv_err_t err = uv_last_error();
|
||||
|
||||
ASSERT(t == &tcp);
|
||||
|
||||
if (nread == 0) {
|
||||
ASSERT(err.code == UV_EAGAIN);
|
||||
free(buf.base);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!got_q) {
|
||||
ASSERT(nread == 1);
|
||||
ASSERT(!got_eof);
|
||||
@ -56,7 +64,7 @@ static void read_cb(uv_tcp_t* t, ssize_t nread, uv_buf_t buf) {
|
||||
got_q = 1;
|
||||
puts("got Q");
|
||||
} else {
|
||||
ASSERT(uv_last_error().code == UV_EOF);
|
||||
ASSERT(err.code == UV_EOF);
|
||||
if (buf.base) {
|
||||
free(buf.base);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user