From: Bjorn Munch Date: September 14 2010 11:17am Subject: bzr commit into mysql-5.1-mtr branch (bjorn.munch:2930) Bug#55426 Bug#55546 List-Archive: http://lists.mysql.com/commits/118189 X-Bug: 55426,55546 Message-Id: <201009141117.o8EBHncb004531@khepri15.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1304691252==" --===============1304691252== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/bm136801/my/valgreap-51/ based on revid:bjorn.munch@stripped 2930 Bjorn Munch 2010-09-14 Bug #55426 mysqltest crashes when trying to unlock not acquired mutex Bug #55546 mysqltest fails to create a new thread on HPUX Missing call to pthread_join(), in embedded mode This independently solves both problems, see 55426 for details. modified: client/mysqltest.cc === modified file 'client/mysqltest.cc' --- a/client/mysqltest.cc 2010-09-10 11:08:06 +0000 +++ b/client/mysqltest.cc 2010-09-14 11:17:04 +0000 @@ -242,6 +242,7 @@ struct st_connection int cur_query_len; pthread_mutex_t mutex; pthread_cond_t cond; + pthread_t tid; int query_done; #endif /*EMBEDDED_LIBRARY*/ }; @@ -733,8 +734,6 @@ pthread_handler_t send_one_query(void *a static int do_send_query(struct st_connection *cn, const char *q, int q_len, int flags) { - pthread_t tid; - if (flags & QUERY_REAP_FLAG) return mysql_send_query(&cn->mysql, q, q_len); @@ -745,7 +744,7 @@ static int do_send_query(struct st_conne cn->cur_query= q; cn->cur_query_len= q_len; cn->query_done= 0; - if (pthread_create(&tid, &cn_thd_attrib, send_one_query, (void*)cn)) + if (pthread_create(&cn->tid, &cn_thd_attrib, send_one_query, (void*)cn)) die("Cannot start new thread for query"); return 0; @@ -760,6 +759,11 @@ static void wait_query_thread_end(struct pthread_cond_wait(&con->cond, &con->mutex); pthread_mutex_unlock(&con->mutex); } + if (con->tid) + { + pthread_join(con->tid, NULL); + con->tid= 0; + } } #else /*EMBEDDED_LIBRARY*/ @@ -5187,6 +5191,7 @@ void do_connect(struct st_command *comma #ifdef EMBEDDED_LIBRARY con_slot->query_done= 1; + con_slot->tid= 0; #endif if (!mysql_init(&con_slot->mysql)) die("Failed on mysql_init()"); --===============1304691252== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/bjorn.munch@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: bjorn.munch@stripped # target_branch: file:///home/bm136801/my/valgreap-51/ # testament_sha1: 384f7ed777b4f95e805fb7eac80d3e8c9935429f # timestamp: 2010-09-14 13:17:49 +0200 # base_revision_id: bjorn.munch@stripped\ # r3a33g5chtd5eumx # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWRAXoEYAAdBfgEAQWXf//1JH RkC////6UARFb1Jydocp3dtyEoiamTU/U0xNMIyRkntSeEnlPSYg2KNqCUgmp6GICEyMjRoaMgAA NDQSSAEp+knqnsSjTQ9NJ6RoAaMgABzAATJgATCYJhDAEYAEkhNTynoFTeJT9AJNPUyeiAeoAADC TOWEfb3/3FYbIezcymGBhY3B87+UyEKiWW6LtDHMjc2TKIwD0LqHqyzliUVUP3eeyHV2HGrL52E7 lmigwUQtvUXzekix8tt+JnDtezBb8aHnvCCxxk9ntg2qVDCgpWf0o85po4IzNdc+pa7kYqEJuWt7 FVPGmKDB6+biNYcfxIdBDpFr+rpzVZ3AzOfeGN9cKLRIskaNN7boCGbgUHgnc3DhDxyJwtFmFkSK GERTlI80Hz6hSIWmjysqtviJQDssE95r1TCwpChHjPCrFORtr+pWC+JfTZoI0LRc8MfPUOwitCpj VB51RNXQzYRbL0FMoZJpTNdxzH3BibMHhO4XYNEV+Q2dtLPHUQJme0HuxZgtQK4t4MxRjFUYT2MC d4GfM7/EiUbj3ZlXobMwfXcT2Wq802+GysUaEAn007JNYy2ekKBLAVYJXqYMwgu7C2ktdFqyZ1Di iyKWmQhEiouEpWSocBnheJjnS2qpICiO4i6Fwbwyud8oTz5s64qk9OL4PajxENcueRrjswLGsrs/ kMrueh1YYtCziTk0mgTCU2jSXmbH2EDjpPjB7Gnb19COtIlZkx9OYc/Fv6wNP4zn0djJZ42igq8J IBzl7oErXOY9YeF+vz3IhHUJpraHJZz6tTRLpnT3CVRQbmJhX50Q1E5DmxpUsooaU1BqPEVnP1sb pAfwJMonkbmxS4Nx2tQSrSFsrWIht39CNEMnsdMcSnhyJkgeFFWvjtO/BeFKQpqGZnCbXpAuwkse 4dPoO0cMMUnJVBPTUS0x43Gw89ndQPY+MMm9DKqX3zTwS57c1tCtf7ytW3qwuyTvuulJuCMRhmrh /MW2KPTukhtPeFhYGMQjjIbEyzGA2Y3idwqjwJnhunay7ig89QON6MOODIW0HS+b/7yqRELBOOvW rX9rH2VNiMkbOaDVUmQcOMI4GYprt1dLnB3iV6dQfLIMhHDE6daRz2rPZEOnGe8PJWD3g+aQxSZu gxjjw0yOKKb5HBgckUVj9ci8WrRvjE0etIhcDGZ0pOt1GNsGZQSGB06YMkSCY0iLlWL4pQZMvIdH KlNla8+4w1gkFJSCsut5DciEQWlAJsYmWrgw4kS2xJrFVJxIDLC+nfFFrZyWbyixIVVvlkTODURJ 3a0OLCiiMuHKYd+7sS6S2Ri6MBmIOtududCkKmGTGF5WB700rfxeStCHgRnUJBBcK4lOZimI1feP bjCYbXahnsHaaPyCUPcoMdl5dBWg5Vs+pyvnl3YC7zIf5dQeG1IsudyKjxXLU8OTdpNlc/WYHOsI KZk3JhyYrHXDkO01mkuyRIbB0i0/xdyRThQkBAXoEYA= --===============1304691252==--