X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmemcached.c;h=f684abffe9314515771d75cef1d1cd81143838ee;hb=246ed363bda10ab0fd00059b0820f441e1b09268;hp=535ea84704b3dac328a5af495f69bccdbdfedb9a;hpb=7fc4c1f412c4002b787b5ce24b08e3091ced08a5;p=collectd.git diff --git a/src/memcached.c b/src/memcached.c index 535ea847..f684abff 100644 --- a/src/memcached.c +++ b/src/memcached.c @@ -34,7 +34,6 @@ #include "configfile.h" #include -#include #include #include #include @@ -62,6 +61,7 @@ static void memcached_free (memcached_t *st) sfree (st->socket); sfree (st->host); sfree (st->port); + sfree (st); } static int memcached_connect_unix (memcached_t *st) @@ -84,6 +84,15 @@ static int memcached_connect_unix (memcached_t *st) return (-1); } + /* connect to the memcached daemon */ + int status = connect (fd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)); + if (status != 0) + { + shutdown (fd, SHUT_RDWR); + close (fd); + fd = -1; + } + return (fd); } /* int memcached_connect_unix */ @@ -378,7 +387,7 @@ static int memcached_read (user_data_t *user_data) /* * For an explanation on these fields please refer to - * + * */ /* @@ -428,6 +437,10 @@ static int memcached_read (user_data_t *user_data) { submit_gauge ("memcached_connections", "current", atof (fields[2]), st); } + else if (FIELD_IS ("listen_disabled_num")) + { + submit_derive ("memcached_connections", "listen_disabled", atof (fields[2]), st); + } /* * Commands @@ -552,7 +565,7 @@ static int memcached_add_read_callback (memcached_t *st) status = plugin_register_complex_read (/* group = */ "memcached", /* name = */ callback_name, /* callback = */ memcached_read, - /* interval = */ NULL, + /* interval = */ 0, /* user_data = */ &ud); return (status); } /* int memcached_add_read_callback */