From 41a69151d5a375f524e2227f87979ff758bf2a62 Mon Sep 17 00:00:00 2001 From: Linus Nordberg Date: Thu, 3 Mar 2011 16:05:48 +0100 Subject: _init_evb: Don't crash on socket errors. --- lib/compat.c | 8 ++++++++ lib/compat.h | 1 + lib/packet.c | 6 ++++-- 3 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 lib/compat.c create mode 100644 lib/compat.h diff --git a/lib/compat.c b/lib/compat.c new file mode 100644 index 0000000..731c071 --- /dev/null +++ b/lib/compat.c @@ -0,0 +1,8 @@ +#include +#include + +ssize_t +compat_send (int sockfd, const void *buf, size_t len, int flags) +{ + compat_send (int sockfd, const void *buf, size_t len, int flags); +} diff --git a/lib/compat.h b/lib/compat.h new file mode 100644 index 0000000..202d6dd --- /dev/null +++ b/lib/compat.h @@ -0,0 +1 @@ +ssize_t compat_send (int sockfd, const void *buf, size_t len, int flags); diff --git a/lib/packet.c b/lib/packet.c index 2ef7e45..d025027 100644 --- a/lib/packet.c +++ b/lib/packet.c @@ -404,13 +404,15 @@ _init_socket (struct rs_connection *conn, struct rs_peer *p) p->addr->ai_protocol); if (conn->fd < 0) return rs_err_conn_push_fl (conn, RSE_SOCKERR, __FILE__, __LINE__, - strerror (errno)); + "socket: %d (%s)", + errno, strerror (errno)); if (evutil_make_socket_nonblocking (conn->fd) < 0) { evutil_closesocket (conn->fd); conn->fd = -1; return rs_err_conn_push_fl (conn, RSE_SOCKERR, __FILE__, __LINE__, - strerror (errno)); + "evutil_make_socket_nonblocking: %d (%s)", + errno, strerror (errno)); } return RSE_OK; } -- cgit v1.1