]> granicus.if.org Git - libevent/commitdiff
test/ssl: use send()/recv()/EVUTIL_ERR_RW_RETRIABLE()/EVUTIL_SOCKET_ERROR() to fix...
authorAzat Khuzhin <a3at.mail@gmail.com>
Tue, 9 Aug 2016 09:25:11 +0000 (12:25 +0300)
committerAzat Khuzhin <a3at.mail@gmail.com>
Tue, 9 Aug 2016 12:47:58 +0000 (15:47 +0300)
Fixes: https://ci.appveyor.com/project/azat/libevent/build/2.1.5.107/job/k70our1xdp0ym4dm#L1906
Fixes: ssl/bufferevent_connect_sleep
test/regress_ssl.c

index a415952a7db34c1e7edae3c9d4eb04ee59747ac9..a476980bf4a3e2493a7fd1a043a1eeea6e8e7e34 100644 (file)
@@ -46,6 +46,7 @@
 #include "event2/bufferevent_struct.h"
 #include "event2/buffer.h"
 #include "event2/listener.h"
+#include "util-internal.h"
 
 #include "regress.h"
 #include "tinytest.h"
@@ -555,9 +556,9 @@ static int
 bio_rwcount_read(BIO *b, char *out, int outlen)
 {
        struct rwcount *rw = b->ptr;
-       ev_ssize_t ret = read(rw->fd, out, outlen);
+       ev_ssize_t ret = recv(rw->fd, out, outlen, 0);
        ++rw->read;
-       if (ret == -1 && errno == EAGAIN) {
+       if (ret == -1 && EVUTIL_ERR_RW_RETRIABLE(EVUTIL_SOCKET_ERROR())) {
                BIO_set_retry_read(b);
        }
        return ret;
@@ -567,9 +568,9 @@ bio_rwcount_write(BIO *b, const char *in, int inlen)
 {
 
        struct rwcount *rw = b->ptr;
-       ev_ssize_t ret = write(rw->fd, in, inlen);
+       ev_ssize_t ret = send(rw->fd, in, inlen, 0);
        ++rw->write;
-       if (ret == -1 && errno == EAGAIN) {
+       if (ret == -1 && EVUTIL_ERR_RW_RETRIABLE(EVUTIL_SOCKET_ERROR())) {
                BIO_set_retry_write(b);
        }
        return ret;