X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Fgmond.c;h=ca654194f6d277c9bacc4c2c758aefcd65dca018;hp=50bd8323b24f47522ef08ed711040ef73aa55494;hb=06a86a60a7dabc685bdbd81ce3d36ea5f7e2c2d4;hpb=3d082a905619c19ca5b7183bb95a30d4d9529c4d diff --git a/src/gmond.c b/src/gmond.c index 50bd8323..ca654194 100644 --- a/src/gmond.c +++ b/src/gmond.c @@ -84,19 +84,19 @@ struct metric_map_s { typedef struct metric_map_s metric_map_t; #define MC_RECEIVE_GROUP_DEFAULT "239.2.11.71" -static char *mc_receive_group = NULL; +static char *mc_receive_group; #define MC_RECEIVE_PORT_DEFAULT "8649" -static char *mc_receive_port = NULL; +static char *mc_receive_port; -static struct pollfd *mc_receive_sockets = NULL; -static size_t mc_receive_sockets_num = 0; +static struct pollfd *mc_receive_sockets; +static size_t mc_receive_sockets_num; -static socket_entry_t *mc_send_sockets = NULL; -static size_t mc_send_sockets_num = 0; +static socket_entry_t *mc_send_sockets; +static size_t mc_send_sockets_num; static pthread_mutex_t mc_send_sockets_lock = PTHREAD_MUTEX_INITIALIZER; -static int mc_receive_thread_loop = 0; -static int mc_receive_thread_running = 0; +static int mc_receive_thread_loop; +static int mc_receive_thread_running; static pthread_t mc_receive_thread_id; static metric_map_t metric_map_default[] = @@ -122,8 +122,8 @@ static metric_map_t metric_map_default[] = {"pkts_out", "if_packets", "", "tx", -1, -1}}; static size_t metric_map_len_default = STATIC_ARRAY_SIZE(metric_map_default); -static metric_map_t *metric_map = NULL; -static size_t metric_map_len = 0; +static metric_map_t *metric_map; +static size_t metric_map_len; static c_avl_tree_t *staging_tree; static pthread_mutex_t staging_lock = PTHREAD_MUTEX_INITIALIZER; @@ -217,12 +217,10 @@ static int create_sockets(socket_entry_t **ret_sockets, /* {{{ */ ai_return = getaddrinfo(node, service, &ai_hints, &ai_list); if (ai_return != 0) { - char errbuf[1024]; ERROR("gmond plugin: getaddrinfo (%s, %s) failed: %s", (node == NULL) ? "(null)" : node, (service == NULL) ? "(null)" : service, - (ai_return == EAI_SYSTEM) ? sstrerror(errno, errbuf, sizeof(errbuf)) - : gai_strerror(ai_return)); + (ai_return == EAI_SYSTEM) ? STRERRNO : gai_strerror(ai_return)); return -1; } @@ -241,9 +239,7 @@ static int create_sockets(socket_entry_t **ret_sockets, /* {{{ */ sockets[sockets_num].fd = socket(ai_ptr->ai_family, ai_ptr->ai_socktype, ai_ptr->ai_protocol); if (sockets[sockets_num].fd < 0) { - char errbuf[1024]; - ERROR("gmond plugin: socket failed: %s", - sstrerror(errno, errbuf, sizeof(errbuf))); + ERROR("gmond plugin: socket failed: %s", STRERRNO); continue; } @@ -261,17 +257,13 @@ static int create_sockets(socket_entry_t **ret_sockets, /* {{{ */ status = setsockopt(sockets[sockets_num].fd, SOL_SOCKET, SO_REUSEADDR, (void *)&yes, sizeof(yes)); if (status != 0) { - char errbuf[1024]; - WARNING("gmond plugin: setsockopt(2) failed: %s", - sstrerror(errno, errbuf, sizeof(errbuf))); + WARNING("gmond plugin: setsockopt(2) failed: %s", STRERRNO); } } status = bind(sockets[sockets_num].fd, ai_ptr->ai_addr, ai_ptr->ai_addrlen); if (status != 0) { - char errbuf[1024]; - ERROR("gmond plugin: bind failed: %s", - sstrerror(errno, errbuf, sizeof(errbuf))); + ERROR("gmond plugin: bind failed: %s", STRERRNO); close(sockets[sockets_num].fd); continue; } @@ -291,9 +283,7 @@ static int create_sockets(socket_entry_t **ret_sockets, /* {{{ */ status = setsockopt(sockets[sockets_num].fd, IPPROTO_IP, IP_MULTICAST_LOOP, (void *)&loop, sizeof(loop)); if (status != 0) { - char errbuf[1024]; - WARNING("gmond plugin: setsockopt(2) failed: %s", - sstrerror(errno, errbuf, sizeof(errbuf))); + WARNING("gmond plugin: setsockopt(2) failed: %s", STRERRNO); } struct ip_mreq mreq = {.imr_multiaddr.s_addr = addr->sin_addr.s_addr, @@ -302,9 +292,7 @@ static int create_sockets(socket_entry_t **ret_sockets, /* {{{ */ status = setsockopt(sockets[sockets_num].fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (void *)&mreq, sizeof(mreq)); if (status != 0) { - char errbuf[1024]; - WARNING("gmond plugin: setsockopt(2) failed: %s", - sstrerror(errno, errbuf, sizeof(errbuf))); + WARNING("gmond plugin: setsockopt(2) failed: %s", STRERRNO); } } /* if (ai_ptr->ai_family == AF_INET) */ else if (ai_ptr->ai_family == AF_INET6) { @@ -322,9 +310,7 @@ static int create_sockets(socket_entry_t **ret_sockets, /* {{{ */ status = setsockopt(sockets[sockets_num].fd, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, (void *)&loop, sizeof(loop)); if (status != 0) { - char errbuf[1024]; - WARNING("gmond plugin: setsockopt(2) failed: %s", - sstrerror(errno, errbuf, sizeof(errbuf))); + WARNING("gmond plugin: setsockopt(2) failed: %s", STRERRNO); } struct ipv6_mreq mreq = { @@ -335,9 +321,7 @@ static int create_sockets(socket_entry_t **ret_sockets, /* {{{ */ status = setsockopt(sockets[sockets_num].fd, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP, (void *)&mreq, sizeof(mreq)); if (status != 0) { - char errbuf[1024]; - WARNING("gmond plugin: setsockopt(2) failed: %s", - sstrerror(errno, errbuf, sizeof(errbuf))); + WARNING("gmond plugin: setsockopt(2) failed: %s", STRERRNO); } } /* if (ai_ptr->ai_family == AF_INET6) */ @@ -393,9 +377,7 @@ static int request_meta_data(const char *host, const char *name) /* {{{ */ /* flags = */ 0, (struct sockaddr *)&mc_send_sockets[i].addr, mc_send_sockets[i].addrlen); if (status == -1) { - char errbuf[1024]; - ERROR("gmond plugin: sendto(2) failed: %s", - sstrerror(errno, errbuf, sizeof(errbuf))); + ERROR("gmond plugin: sendto(2) failed: %s", STRERRNO); continue; } } @@ -472,7 +454,8 @@ static int staging_entry_update(const char *host, const char *name, /* {{{ */ } if (ds->ds_num <= ds_index) { - ERROR("gmond plugin: Invalid index %zu: %s has only %zu data source(s).", + ERROR("gmond plugin: Invalid index %" PRIsz ": %s has only %" PRIsz + " data source(s).", ds_index, ds->type, ds->ds_num); return -1; } @@ -737,9 +720,7 @@ static int mc_handle_socket(struct pollfd *p) /* {{{ */ buffer_size = recv(p->fd, buffer, sizeof(buffer), /* flags = */ 0); if (buffer_size <= 0) { - char errbuf[1024]; - ERROR("gmond plugin: recv failed: %s", - sstrerror(errno, errbuf, sizeof(errbuf))); + ERROR("gmond plugin: recv failed: %s", STRERRNO); p->revents = 0; return -1; } @@ -785,11 +766,9 @@ static void *mc_receive_thread(void *arg) /* {{{ */ while (mc_receive_thread_loop != 0) { status = poll(mc_receive_sockets, mc_receive_sockets_num, -1); if (status <= 0) { - char errbuf[1024]; if (errno == EINTR) continue; - ERROR("gmond plugin: poll failed: %s", - sstrerror(errno, errbuf, sizeof(errbuf))); + ERROR("gmond plugin: poll failed: %s", STRERRNO); break; }