MDEV-10559: main.mysql_client_test_nonblock crashes in buildbot on 10.0

fix for async operations
This commit is contained in:
Oleksandr Byelkin 2016-08-16 21:23:57 +02:00
parent df09d5e724
commit 05f61ba460
3 changed files with 10 additions and 5 deletions

View file

@ -3644,7 +3644,8 @@ error:
/* Free alloced memory */
end_server(mysql);
mysql_close_free(mysql);
if (!(client_flag & CLIENT_REMEMBER_OPTIONS))
if (!(client_flag & CLIENT_REMEMBER_OPTIONS) &&
!mysql->options.extension->async_context)
mysql_close_free_options(mysql);
}
DBUG_RETURN(0);

View file

@ -455,7 +455,11 @@ MK_ASYNC_START_BODY(
parms.db= db;
parms.port= port;
parms.unix_socket= unix_socket;
parms.client_flags= client_flags;
/*
async wrapper enforce the CLIENT_REMEMBER_OPTIONS flag to be
functional (otherwise it can't operate)
*/
parms.client_flags= client_flags | CLIENT_REMEMBER_OPTIONS;
},
NULL,
r_ptr,

View file

@ -18443,7 +18443,7 @@ static void test_bug58036()
if (mysql_real_connect(conn, opt_host, opt_user,
opt_password, opt_db ? opt_db : "test",
opt_port, opt_unix_socket, CLIENT_REMEMBER_OPTIONS))
opt_port, opt_unix_socket, 0))
{
if (!opt_silent)
printf("mysql_real_connect() succeeded (failure expected)\n");
@ -18469,7 +18469,7 @@ static void test_bug58036()
mysql_options(conn, MYSQL_SET_CHARSET_NAME, "latin1");
if (!mysql_real_connect(conn, opt_host, opt_user,
opt_password, opt_db ? opt_db : "test",
opt_port, opt_unix_socket, CLIENT_REMEMBER_OPTIONS))
opt_port, opt_unix_socket, 0))
{
if (!opt_silent)
printf("mysql_real_connect() failed: %s (%d)\n",
@ -19344,7 +19344,7 @@ static void test_big_packet()
if (!(mysql_real_connect(mysql_local, opt_host, opt_user,
opt_password, current_db, opt_port,
opt_unix_socket, CLIENT_REMEMBER_OPTIONS)))
opt_unix_socket, 0)))
{
mysql_close(mysql_local);
fprintf(stderr, "\n connection failed(%s)", mysql_error(mysql_local));