From ce5160a39d26a8e7cf0633d0d144436a5156837a Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Wed, 19 Aug 2015 13:37:19 +0200 Subject: put full_send in libmdsserver, clients that only has one socket uses a macro to remove the socket parameter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/mds-registry/mds-registry.c | 12 ++++++++++++ src/mds-registry/registry.c | 11 +++++++++++ src/mds-registry/util.c | 31 ------------------------------- src/mds-registry/util.h | 9 --------- 4 files changed, 23 insertions(+), 40 deletions(-) (limited to 'src/mds-registry') diff --git a/src/mds-registry/mds-registry.c b/src/mds-registry/mds-registry.c index a9af91d..df3db51 100644 --- a/src/mds-registry/mds-registry.c +++ b/src/mds-registry/mds-registry.c @@ -21,6 +21,7 @@ #include "globals.h" #include "registry.h" +#include #include #include #include @@ -49,6 +50,17 @@ server_characteristics_t server_characteristics = +/** + * Send a full message even if interrupted + * + * @param message:const char* The message to send + * @param length:size_t The length of the message + * @return :int Zero on success, -1 on error + */ +#define full_send(message, length) \ + ((full_send)(socket_fd, message, length)) + + /** * This function will be invoked before `initialise_server` (if not re-exec:ing) * or before `unmarshal_server` (if re-exec:ing) diff --git a/src/mds-registry/registry.c b/src/mds-registry/registry.c index 660fd6c..359bfc3 100644 --- a/src/mds-registry/registry.c +++ b/src/mds-registry/registry.c @@ -37,6 +37,17 @@ +/** + * Send a full message even if interrupted + * + * @param message:const char* The message to send + * @param length:size_t The length of the message + * @return :int Zero on success, -1 on error + */ +#define full_send(message, length) \ + ((full_send)(socket_fd, message, length)) + + /** * Handle the received message containing a ‘Client closed’-header * diff --git a/src/mds-registry/util.c b/src/mds-registry/util.c index 551904a..1debaa3 100644 --- a/src/mds-registry/util.c +++ b/src/mds-registry/util.c @@ -56,34 +56,3 @@ void reg_table_free_value(size_t obj) free(list); } - -/** - * Send a full message even if interrupted - * - * @param message The message to send - * @param length The length of the message - * @return Zero on success, -1 on error - */ -int full_send(const char* message, size_t length) -{ - size_t sent; - - while (length > 0) - { - sent = send_message(socket_fd, message, length); - if (sent > length) - { - eprint("Sent more of a message than exists in the message, aborting."); - return -1; - } - else - fail_if ((sent < length) && (errno != EINTR)); - message += sent; - length -= sent; - } - return 0; - fail: - xperror(*argv); - return -1; -} - diff --git a/src/mds-registry/util.h b/src/mds-registry/util.h index ea0d492..5699a98 100644 --- a/src/mds-registry/util.h +++ b/src/mds-registry/util.h @@ -36,15 +36,6 @@ void reg_table_free_key(size_t obj); */ void reg_table_free_value(size_t obj); -/** - * Send a full message even if interrupted - * - * @param message The message to send - * @param length The length of the message - * @return Zero on success, -1 on error - */ -int full_send(const char* message, size_t length); - #endif -- cgit v1.2.3-70-g09d2