私は昼夜を問わずグーグルでMySQLドキュメントを読んでみましたが、何がメモリリークを引き起こしているのかを見つけることができないようです.
ランダムに発生するようで、これがリークする唯一の機能です。
コード:
unsigned long numRowQuery(std::string query)
{
MYSQL *connection = mysql_init(NULL);
MYSQL_RES *result;
unsigned long num_rows;
// connecting to database
if(!mysql_real_connect(connection,SERVER,USER,PASSWORD,DATABASE,0,NULL,0))
{
std::cout << "Connection error: " << mysql_error(connection) << std::endl;
}
if (mysql_query(connection, query.c_str()))
{
std::cout << "MySQL query error: " << mysql_error(connection) << std::endl;
exit(1);
}
result = mysql_store_result(connection);
num_rows = mysql_num_rows(result);
mysql_free_result(result);
mysql_close(connection);
mysql_library_end();
return num_rows;
}