X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Ftcpconns.c;h=00cad0e46fa8b4e7857a3c929882a8a6409dacae;hb=8debae762165367f8a4f85b95f56284c7badf87d;hp=74874ae36382080ebd90af4dcfdb0079965e3d10;hpb=58ecdb7ff9a4d90e87daecca05b9cb4a43070fd7;p=collectd.git diff --git a/src/tcpconns.c b/src/tcpconns.c index 74874ae3..00cad0e4 100644 --- a/src/tcpconns.c +++ b/src/tcpconns.c @@ -336,12 +336,7 @@ static int conn_read_file (const char *file) fh = fopen (file, "r"); if (fh == NULL) - { - char errbuf[1024]; - ERROR ("tcpconns plugin: fopen (%s) failed: %s", - file, sstrerror (errno, errbuf, sizeof (errbuf))); return (-1); - } while (fgets (buffer, sizeof (buffer), fh) != NULL) { @@ -411,12 +406,25 @@ static int conn_init (void) static int conn_read (void) { + int errors_num = 0; + conn_reset_port_entry (); - conn_read_file ("/proc/net/tcp"); - conn_read_file ("/proc/net/tcp6"); + if (conn_read_file ("/proc/net/tcp") != 0) + errors_num++; + if (conn_read_file ("/proc/net/tcp6") != 0) + errors_num++; - conn_submit_all (); + if (errors_num < 2) + { + conn_submit_all (); + } + else + { + ERROR ("tcpconns plugin: Neither /proc/net/tcp nor /proc/net/tcp6 " + "coult be read."); + return (-1); + } return (0); } /* int conn_read */