diff options
author | Alan Antonuk <alan.antonuk@gmail.com> | 2013-06-11 10:56:07 -0700 |
---|---|---|
committer | Alan Antonuk <alan.antonuk@gmail.com> | 2013-06-13 16:40:29 -0700 |
commit | 22e41b8b52bace283c424d9a125656fcb0a41120 (patch) | |
tree | 24a7b782a4f48643e6d7303884d00e32385c98a2 /librabbitmq/amqp_socket.c | |
parent | 7231d921b3db2f7d62e716976c31abdbf8e0edc5 (diff) | |
download | rabbitmq-c-github-ask-22e41b8b52bace283c424d9a125656fcb0a41120.tar.gz |
Improve error handling in socket functions
Diffstat (limited to 'librabbitmq/amqp_socket.c')
-rw-r--r-- | librabbitmq/amqp_socket.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/librabbitmq/amqp_socket.c b/librabbitmq/amqp_socket.c index 9ab9fec..7649c74 100644 --- a/librabbitmq/amqp_socket.c +++ b/librabbitmq/amqp_socket.c @@ -50,7 +50,7 @@ #include <string.h> ssize_t -amqp_socket_writev(amqp_socket_t *self, const struct iovec *iov, int iovcnt) +amqp_socket_writev(amqp_socket_t *self, struct iovec *iov, int iovcnt) { assert(self); assert(self->klass->writev); @@ -58,11 +58,11 @@ amqp_socket_writev(amqp_socket_t *self, const struct iovec *iov, int iovcnt) } ssize_t -amqp_socket_send(amqp_socket_t *self, const void *buf, size_t len, int flags) +amqp_socket_send(amqp_socket_t *self, const void *buf, size_t len) { assert(self); assert(self->klass->send); - return self->klass->send(self, buf, len, flags); + return self->klass->send(self, buf, len); } ssize_t @@ -179,7 +179,7 @@ int amqp_send_header(amqp_connection_state_t state) AMQP_PROTOCOL_VERSION_MINOR, AMQP_PROTOCOL_VERSION_REVISION }; - return amqp_socket_send(state->socket, header, 8, MSG_NOSIGNAL); + return amqp_socket_send(state->socket, header, sizeof(header)); } static amqp_bytes_t sasl_method_name(amqp_sasl_method_enum method) @@ -496,7 +496,10 @@ static amqp_rpc_reply_t amqp_login_inner(amqp_connection_state_t state, uint16_t server_heartbeat; amqp_rpc_reply_t result; - amqp_send_header(state); + res = amqp_send_header(state); + if (AMQP_STATUS_OK != res) { + goto error_res; + } res = amqp_simple_wait_method(state, 0, AMQP_CONNECTION_START_METHOD, &method); |