Commit 072ca71d authored by Sergey Vojtovich's avatar Sergey Vojtovich

MDEV-9281 - Debian: the Lintian complains about "shlib-calls-exit" in handlersocket.so

MDEV-9278 - Debian: the Lintian complains about "shlib-calls-exit" in ha_spider.so

Handlersocket handles errors in a way that it aborts program execution. In most
cases it is done via abort(). One exception was host/service resolution failure,
which was aborted with exit().

As a workaround replaced this exit() with abort() for symmetry with other error
handling.
parent f8adeccd
......@@ -39,7 +39,7 @@ struct auto_mysql : private noncopyable {
mysql_close(db);
}
if ((db = mysql_init(0)) == 0) {
fatal_exit("failed to initialize mysql client");
fatal_abort("failed to initialize mysql client");
}
}
operator MYSQL *() const { return db; }
......@@ -870,7 +870,7 @@ mysql_do(MYSQL *db, const char *query)
{
if (mysql_real_query(db, query, strlen(query)) != 0) {
fprintf(stderr, "mysql: e=[%s] q=[%s]\n", mysql_error(db), query);
fatal_exit("mysql_do");
fatal_abort("mysql_do");
}
}
......@@ -886,7 +886,7 @@ hs_longrun_init_table(const config& conf, int num_prepare,
if (!mysql_real_connect(db, mysql_host.c_str(), mysql_user.c_str(),
mysql_passwd.c_str(), mysql_dbname.c_str(), mysql_port, 0, 0)) {
fprintf(stderr, "mysql: error=[%s]\n", mysql_error(db));
fatal_exit("hs_longrun_init_table");
fatal_abort("hs_longrun_init_table");
}
mysql_do(db, "drop database if exists hstestdb");
mysql_do(db, "create database hstestdb");
......
......@@ -17,14 +17,6 @@ namespace dena {
const int opt_syslog = LOG_ERR | LOG_PID | LOG_CONS;
void
fatal_exit(const std::string& message)
{
fprintf(stderr, "FATAL_EXIT: %s\n", message.c_str());
syslog(opt_syslog, "FATAL_EXIT: %s", message.c_str());
_exit(1);
}
void
fatal_abort(const std::string& message)
{
......
......@@ -13,7 +13,6 @@
namespace dena {
void fatal_exit(const std::string& message);
void fatal_abort(const std::string& message);
};
......
......@@ -43,7 +43,7 @@ socket_args::set(const config& conf)
} else {
const char *nd = node.empty() ? 0 : node.c_str();
if (resolve(nd, port.c_str()) != 0) {
fatal_exit("getaddrinfo failed: " + node + ":" + port);
fatal_abort("getaddrinfo failed: " + node + ":" + port);
}
}
}
......
......@@ -25,26 +25,6 @@ namespace dena {
const int opt_syslog = LOG_ERR | LOG_PID | LOG_CONS;
*/
void
fatal_exit(const String& message)
{
fprintf(stderr, "FATAL_EXIT: %s\n", message.ptr());
/*
syslog(opt_syslog, "FATAL_EXIT: %s", message.ptr());
*/
_exit(1);
}
void
fatal_exit(const char *message)
{
fprintf(stderr, "FATAL_EXIT: %s\n", message);
/*
syslog(opt_syslog, "FATAL_EXIT: %s", message);
*/
_exit(1);
}
void
fatal_abort(const String& message)
{
......
......@@ -22,8 +22,6 @@
namespace dena {
void fatal_exit(const String& message);
void fatal_exit(const char *message);
void fatal_abort(const String& message);
void fatal_abort(const char *message);
......
......@@ -67,7 +67,7 @@ socket_args::set(const config& conf)
message.append(node);
message.q_append(":", sizeof(":") - 1);
message.append(port);
fatal_exit(message);
fatal_abort(message);
}
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment