}
void master_service_init_stats_client(struct master_service *service,
- bool silent_notfound_errors)
+ bool silent_errors)
{
if (service->stats_client == NULL &&
service->set->stats_writer_socket_path[0] != '\0') T_BEGIN {
const char *path = t_strdup_printf("%s/%s",
service->set->base_dir,
service->set->stats_writer_socket_path);
- service->stats_client =
- stats_client_init(path, silent_notfound_errors);
+ service->stats_client = stats_client_init(path, silent_errors);
} T_END;
}
struct timeval wait_started;
bool handshaked;
bool handshake_received_at_least_once;
- bool silent_notfound_errors;
+ bool silent_errors;
};
static struct connection_list *stats_clients;
stats_client_send_registered_categories(client);
if (!client->handshake_received_at_least_once)
stats_client_wait(client, STATS_CLIENT_HANDSHAKE_WAIT);
- } else if (!client->silent_notfound_errors ||
- (errno != ENOENT && errno != ECONNREFUSED)) {
+ } else if (!client->silent_errors ||
+ (errno != ENOENT && errno != ECONNREFUSED &&
+ !ENOACCESS(errno))) {
e_error(client->conn.event,
"net_connect_unix(%s) failed: %m", client->conn.name);
}
}
-struct stats_client *
-stats_client_init(const char *path, bool silent_notfound_errors)
+struct stats_client *stats_client_init(const char *path, bool silent_errors)
{
struct stats_client *client;
stats_global_init();
client = i_new(struct stats_client, 1);
- client->silent_notfound_errors = silent_notfound_errors;
+ client->silent_errors = silent_errors;
connection_init_client_unix(stats_clients, &client->conn, path);
stats_client_connect(client);
return client;
#ifndef STATS_CLIENT_H
#define STATS_CLIENT_H
-struct stats_client *
-stats_client_init(const char *path, bool silent_notfound_errors);
+struct stats_client *stats_client_init(const char *path, bool silent_errors);
void stats_client_deinit(struct stats_client **client);
struct stats_client *