summaryrefslogtreecommitdiff
path: root/librabbitmq/amqp_connection.c
diff options
context:
space:
mode:
authorDavid Wragg <dpw@lshift.net>2010-05-30 23:31:40 +0100
committerDavid Wragg <dpw@lshift.net>2010-05-30 23:31:40 +0100
commit2347dc9977d3bf0c9ed19f7ed3a905eb4e65fa46 (patch)
tree56b6486c279997736c61a5b3fe6661caadb7d352 /librabbitmq/amqp_connection.c
parent76e825b388c6c3b65ef238a245748f38d3f1c1fc (diff)
downloadrabbitmq-c-github-ask-2347dc9977d3bf0c9ed19f7ed3a905eb4e65fa46.tar.gz
Add amqp_end_connection, which closes the socket and destroys the connection
Diffstat (limited to 'librabbitmq/amqp_connection.c')
-rw-r--r--librabbitmq/amqp_connection.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/librabbitmq/amqp_connection.c b/librabbitmq/amqp_connection.c
index 8623eed..7531fac 100644
--- a/librabbitmq/amqp_connection.c
+++ b/librabbitmq/amqp_connection.c
@@ -170,6 +170,15 @@ void amqp_destroy_connection(amqp_connection_state_t state) {
free(state);
}
+int amqp_end_connection(amqp_connection_state_t state) {
+ int s = state->sockfd;
+ amqp_destroy_connection(state);
+ if (close(s) < 0)
+ return -errno;
+ else
+ return 0;
+}
+
static void return_to_idle(amqp_connection_state_t state) {
state->inbound_buffer.bytes = NULL;
state->inbound_offset = 0;