From 35ae7af4c8f541785699ad7ca1ad64d2413a88ec Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Fri, 2 Jan 2015 15:06:58 +0100 Subject: [SERVER] Dead code removal, minor performance tweaks, refactoring, etc. --- src/server/net.c | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) (limited to 'src/server/net.c') diff --git a/src/server/net.c b/src/server/net.c index 3dc1f63..8e5189f 100644 --- a/src/server/net.c +++ b/src/server/net.c @@ -50,10 +50,10 @@ static inline bool recv_request_header(int sock, dnbd3_request_t *request) int ret, fails = 0; // Read request header from socket while ( (ret = recv( sock, request, sizeof(*request), MSG_WAITALL )) != sizeof(*request) ) { + if ( errno == EINTR ) continue; if ( ret >= 0 || ++fails > SOCKET_TIMEOUT_SERVER_RETRIES ) return false; - const int err = errno; - if ( err == EAGAIN || err == EINTR ) continue; - printf( "[DEBUG] Error receiving request: Could not read message header (%d/%d, e=%d)\n", ret, (int)sizeof(*request), err ); + if ( errno == EAGAIN ) continue; + printf( "[DEBUG] Error receiving request: Could not read message header (%d/%d, e=%d)\n", ret, (int)sizeof(*request), errno ); return false; } // Make sure all bytes are in the right order (endianness) @@ -98,7 +98,7 @@ static inline bool send_reply(int sock, dnbd3_reply_t *reply, void *payload) const unsigned int size = reply->size; fixup_reply( *reply ); if ( !payload || size == 0 ) { - if ( send( sock, reply, sizeof(dnbd3_reply_t), MSG_WAITALL ) != sizeof(dnbd3_reply_t) ) { + if ( send( sock, reply, sizeof(dnbd3_reply_t), 0 ) != sizeof(dnbd3_reply_t) ) { printf( "[DEBUG] Send failed (header-only)\n" ); return false; } @@ -354,22 +354,6 @@ void *net_client_handler(void *dnbd3_client) break; } - - /* - // Check for messages that have been queued from another thread - while ( client->sendqueue != NULL ) { - dnbd3_binstring_t *message = NULL; - spin_lock( &client->lock ); - if ( client->sendqueue != NULL ) { - message = client->sendqueue->data; - client->sendqueue = g_slist_remove( client->sendqueue, message ); - } - spin_unlock( &client->lock ); - send_data( client->sock, message->data, message->len ); - free( message ); - } - */ - } } exit_client_cleanup: ; -- cgit v1.2.3-55-g7522