From: Steven Hartland Date: Fri, 21 Jul 2017 06:20:58 +0000 (+0100) Subject: Return success for rrdcached pending on empty (#809) X-Git-Tag: v1.7.1~117 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=607cc1b70605ab300c10bda1bf5ad3d30ad6a334;p=thirdparty%2Frrdtool-1.x.git Return success for rrdcached pending on empty (#809) If we have no pending entries for a file return success with no entries instead of returning an error. --- diff --git a/src/rrd_daemon.c b/src/rrd_daemon.c index c37865df..6092317b 100644 --- a/src/rrd_daemon.c +++ b/src/rrd_daemon.c @@ -1485,28 +1485,19 @@ static int handle_request_pending(HANDLER_PROTO) /* {{{ */ return syntax_error(sock,cmd); file = get_abs_path(pbuffile); - if (file == NULL) { - rc = send_response(sock, RESP_ERR, "%s\n", rrd_strerror(ENOMEM)); - goto done; - } + if (file == NULL) + return send_response(sock, RESP_ERR, "%s\n", rrd_strerror(ENOMEM)); pthread_mutex_lock(&cache_lock); ci = g_tree_lookup(cache_tree, file); - if (ci == NULL) - { - pthread_mutex_unlock(&cache_lock); - rc = send_response(sock, RESP_ERR, "%s\n", rrd_strerror(ENOENT)); - goto done; + if (ci != NULL) { + for (size_t i=0; i < ci->values_num; i++) + add_response_info(sock, "%s\n", ci->values[i]); } - for (size_t i=0; i < ci->values_num; i++) - add_response_info(sock, "%s\n", ci->values[i]); - - pthread_mutex_unlock(&cache_lock); - rc = send_response(sock, RESP_OK, "updates pending\n"); -done: free(file); - return rc; + pthread_mutex_unlock(&cache_lock); + return send_response(sock, RESP_OK, "updates pending\n"); } /* }}} static int handle_request_pending */ static int handle_request_forget(HANDLER_PROTO) /* {{{ */