From: Florian Forster Date: Thu, 1 Oct 2009 19:34:21 +0000 (+0200) Subject: Merge branch 'collectd-4.8' X-Git-Tag: collectd-4.9.0~68 X-Git-Url: https://git.octo.it/?a=commitdiff_plain;h=7936f094388707ee066b2e9f3fc75659e1715181;hp=e28686b873599cc18c5e0985cf41589a9aa2b4c6;p=collectd.git Merge branch 'collectd-4.8' Conflicts: src/types.db --- diff --git a/README b/README index 07a7415a..a737f862 100644 --- a/README +++ b/README @@ -581,7 +581,7 @@ Prerequisites * libyajl (optional) Parse JSON data. This is needed for the `curl_json' plugin. - + Configuring / Compiling / Installing ------------------------------------ diff --git a/src/collectd.conf.in b/src/collectd.conf.in index e78f9dce..8f28f8f3 100644 --- a/src/collectd.conf.in +++ b/src/collectd.conf.in @@ -175,7 +175,26 @@ FQDNLookup true # # -# +# +# DataDir "@prefix@/var/lib/@PACKAGE_NAME@/csv" +# StoreRates false +# + +# +# +# URL "http://finance.google.com/finance?q=NYSE%3AAMD" +# User "foo" +# Password "bar" +# +# Regex "]*> *([0-9]*\\.[0-9]+) *" +# DSType "GaugeAverage" +# Type "stock_value" +# Instance "AMD" +# +# +# + +# ## See: http://wiki.apache.org/couchdb/Runtime_Statistics # # Instance "httpd" @@ -206,25 +225,6 @@ FQDNLookup true # # -# -# DataDir "@prefix@/var/lib/@PACKAGE_NAME@/csv" -# StoreRates false -# - -# -# -# URL "http://finance.google.com/finance?q=NYSE%3AAMD" -# User "foo" -# Password "bar" -# -# Regex "]*> *([0-9]*\\.[0-9]+) *" -# DSType "GaugeAverage" -# Type "stock_value" -# Instance "AMD" -# -# -# - # # # Statement "SELECT 'customers' AS c_key, COUNT(*) AS c_value FROM customers_tbl" @@ -263,6 +263,7 @@ FQDNLookup true # # Interface "eth0" # IgnoreSource "192.168.0.1" +# SelectNumericQueryTypes true # # @@ -313,12 +314,6 @@ FQDNLookup true # TranslateDevicename false # -# -# URL "http://example.com/collectd-import" -# User "www-user" -# Password "secret" -# - # # Interface "eth0" # IgnoreSelected false diff --git a/src/owniptc/libiptc.c b/src/owniptc/libiptc.c index f7a6640f..5e5fde08 100644 --- a/src/owniptc/libiptc.c +++ b/src/owniptc/libiptc.c @@ -1489,6 +1489,7 @@ TC_NEXT_RULE(const STRUCT_ENTRY *prev, TC_HANDLE_T *handle) } /* How many rules in this chain? */ +#if 0 static unsigned int TC_NUM_RULES(const char *chain, TC_HANDLE_T *handle) { @@ -1504,7 +1505,9 @@ TC_NUM_RULES(const char *chain, TC_HANDLE_T *handle) return c->num_rules; } +#endif +#if 0 static const STRUCT_ENTRY * TC_GET_RULE(const char *chain, unsigned int n, TC_HANDLE_T *handle) { @@ -1526,6 +1529,7 @@ TC_GET_RULE(const char *chain, unsigned int n, TC_HANDLE_T *handle) return NULL; return r->entry; } +#endif /* Returns a pointer to the target name of this position. */ static const char *standard_target_map(int verdict) diff --git a/src/processes.c b/src/processes.c index fd06b21b..4f515184 100644 --- a/src/processes.c +++ b/src/processes.c @@ -704,7 +704,10 @@ int ps_read_process (int pid, procstat_t *ps, char *state) else { if ( (ps->num_lwp = ps_read_tasks (pid)) == -1 ) - return (-1); + { + /* returns -1 => kernel 2.4 */ + ps->num_lwp = 1; + } ps->num_proc = 1; } diff --git a/src/types.db b/src/types.db index c6526d42..960674c0 100644 --- a/src/types.db +++ b/src/types.db @@ -54,7 +54,7 @@ email_count value:GAUGE:0:U email_size value:GAUGE:0:U entropy entropy:GAUGE:0:4294967295 fanspeed value:GAUGE:0:U -file_size bytes:GAUGE:0:U +file_size bytes:GAUGE:0:U files value:GAUGE:0:U frequency frequency:GAUGE:0:U frequency_offset ppm:GAUGE:-1000000:1000000 @@ -125,8 +125,8 @@ ps_stacksize value:GAUGE:0:9223372036854775807 ps_state value:GAUGE:0:65535 ps_vm value:GAUGE:0:9223372036854775807 queue_length value:GAUGE:0:U -records count:GAUGE:0:U response_time value:GAUGE:0:U +records count:GAUGE:0:U route_etx value:GAUGE:0:U route_metric value:GAUGE:0:U routes value:GAUGE:0:U diff --git a/src/unixsock.c b/src/unixsock.c index be36abc8..0b897482 100644 --- a/src/unixsock.c +++ b/src/unixsock.c @@ -158,32 +158,45 @@ static int us_open_socket (void) static void *us_handle_client (void *arg) { - int fd; + int fdin; + int fdout; FILE *fhin, *fhout; - fd = *((int *) arg); + fdin = *((int *) arg); free (arg); arg = NULL; - DEBUG ("unixsock plugin: us_handle_client: Reading from fd #%i", fd); + DEBUG ("unixsock plugin: us_handle_client: Reading from fd #%i", fdin); - fhin = fdopen (fd, "r"); + fdout = dup (fdin); + if (fdout < 0) + { + char errbuf[1024]; + ERROR ("unixsock plugin: dup failed: %s", + sstrerror (errno, errbuf, sizeof (errbuf))); + close (fdin); + pthread_exit ((void *) 1); + } + + fhin = fdopen (fdin, "r"); if (fhin == NULL) { char errbuf[1024]; ERROR ("unixsock plugin: fdopen failed: %s", sstrerror (errno, errbuf, sizeof (errbuf))); - close (fd); + close (fdin); + close (fdout); pthread_exit ((void *) 1); } - fhout = fdopen (fd, "w"); + fhout = fdopen (fdout, "w"); if (fhout == NULL) { char errbuf[1024]; ERROR ("unixsock plugin: fdopen failed: %s", sstrerror (errno, errbuf, sizeof (errbuf))); - fclose (fhin); /* this closes fd as well */ + fclose (fhin); /* this closes fdin as well */ + close (fdout); pthread_exit ((void *) 1); } @@ -231,11 +244,12 @@ static void *us_handle_client (void *arg) fields_num = strsplit (buffer_copy, fields, sizeof (fields) / sizeof (fields[0])); - if (fields_num < 1) { - close (fd); - break; + fprintf (fhout, "-1 Internal error\n"); + fclose (fhin); + fclose (fhout); + pthread_exit ((void *) 1); } if (strcasecmp (fields[0], "getval") == 0)