From 49b6b0083bf1954c24a27f2a1854343c512602ac Mon Sep 17 00:00:00 2001 From: Ian Gulliver Date: Sun, 28 Feb 2016 22:34:53 -0800 Subject: [PATCH] Fix misunderstanding of sendto(MSG_FASTOPEN) --- adsbus/outgoing.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/adsbus/outgoing.c b/adsbus/outgoing.c index 52b6629..928d80d 100644 --- a/adsbus/outgoing.c +++ b/adsbus/outgoing.c @@ -66,8 +66,8 @@ static void outgoing_connect_next(struct outgoing *outgoing) { if (outgoing->hello) { outgoing->hello(&buf_ptr, outgoing->passthrough); } - int result = (int) sendto(outgoing->peer.fd, buf_at(buf_ptr, 0), buf_ptr->length, MSG_FASTOPEN, outgoing->addr->ai_addr, outgoing->addr->ai_addrlen); - outgoing_connect_result(outgoing, result == 0 ? result : errno); + ssize_t result = sendto(outgoing->peer.fd, buf_at(buf_ptr, 0), buf_ptr->length, MSG_FASTOPEN, outgoing->addr->ai_addr, outgoing->addr->ai_addrlen); + outgoing_connect_result(outgoing, result == (ssize_t) buf_ptr->length ? EINPROGRESS : errno); } static void outgoing_connect_handler(struct peer *peer) {