From: Bjorn Munch Date: September 14 2010 8:03am Subject: bzr commit into mysql-5.5-mtr branch (bjorn.munch:3087) Bug#55426 Bug#55546 List-Archive: http://lists.mysql.com/commits/118146 X-Bug: 55426,55546 Message-Id: <201009140803.o8E83ixr009615@khepri15.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1786363385==" --===============1786363385== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/bm136801/my/mutex-55/ based on revid:bjorn.munch@stripped 3087 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-01 13:49:43 +0000 +++ b/client/mysqltest.cc 2010-09-14 08:01:09 +0000 @@ -252,6 +252,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*/ }; @@ -732,8 +733,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); @@ -744,7 +743,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; @@ -759,6 +758,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*/ @@ -5217,6 +5221,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()"); --===============1786363385== 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/mutex-55/ # testament_sha1: 664fd4a25937d958c204b8b617f2b1b8cf6d466d # timestamp: 2010-09-14 10:03:44 +0200 # base_revision_id: bjorn.munch@stripped\ # 927op2nd3bxmmydu # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWXSDyQ4AAdTfgEAQWXf//1JH RkC////6UARFduhScN70jvee4SiIaAKeTEnoymp6np6m0FMnqHqaA/VGnqCUmiaMmEET0m0iNDRp o0A9IaaaGQaAiU/QQ1PT1I9QD1GmgGhoAGgDakRom1NE2kfpR6jEPUGhoAAANBJQqfqmyntT1TR4 mmo8mRHqGIAAAAwn1lxH29fTUOsd2bcpE8w1Nd7culKGtRNUznsJIGSQNm0CMA+RrqiVmnpKoqof fE6oZvxTKzd3MKX1VzcbIG4sIQ7ZmF0/DPa3n8Lm207vG47pSUebvzc6Tq0i0iXqeNJ/ummN6Muv vl07L8BiiQnJbpmKqeOlz0HX4Pkqu7v1QZiEtPAVj2wM69F6ks9+PFDbpJAqgUmofJYp0Jm5FSUH AjZKiiDh4l4Oab82np1HReSaJnG4SwQiHJSrDsHaA1glsiQQyzqSYMASGNSBAWAo0KBW3vwLG0rQ Kl+QlydpjLrxGdXJwpMi4rHNg159TRgg+povOMTaXO20ZsS83YdRILWpHJQXoHVxStR5LRjUcQya Ki363Jqm+605xFVkH2K5AoqlhhN+dPIZW1jjWDkGchsJmmVTcRwvfeKQKlHLaWJwtKXiJMBctgo1 QPaqGQ918hidj4qgl01ksQ0njjxlC1qIDI5EBeGQmzSyc0xwknkWmlik2TxEtraLgxFzl2RpDzsl XpE4W2CRYCcqTw3V2ly8lTyE9QkIXygo1BYOvNpoFgpHA3EQHieV9B16QwtupsZTHJ5zmQ5yIQkZ GPa8ItfV9so+E+tb4hjtkoMAz02MHc6dzAQAnfmF226znzRCWkR0ZNTAHKrhz0Nf4zIM8CYX2yjc VzynjkUFVcr7A3ForM+ve2y9NoE/Q4UUxTj/HWglttDGIhlwzIUQq6mc0KmH2NiPSh4U4mndoSBU aisE8oUasVe94enjZido4fVIo9nRVBML642t8tq/PlvkcSMkkCvihapjgs+XXf7s2ZXv667GL/FO bLG3XXEy4oqKculvG7O6Md9yDIwIBvvQ+zEMqJLxleYqKLlrhnIGy3FILI1chlHDFEWiLCLknQ9H /184s1aHLRcVv4mWpjlHZ32K5RtU48eSjwbjyW6s1L3hEVV+gP1ul5tz0HZoSPMXFcq7LJA2XzPD TjBzgdKkMISjrSmm7ckL0TZ7mCHoaJXG6lWw9TRCCo6gUz6ByuXfVVF2BllmZiYE16GH05a2BWlK WBNQoOIwfOEzDHCqrDDlxu39alkSMLEUm3einSNXrBYknEUjU83tjPLJQiywmLLmVHix6W30c7Jn RZOMMqFwnfdNhQjERKnskFHQIUbpyLNSlQqIird0R2BmESU0yo1DbG+dSGKa4SAWgs6UcXFnQhxJ wYJJBZYTL+ZrGp8RIvd6yL/RYOxzQ8xkLvnR2gQd80cwvyKuSgKk2YOe1Mo/QTQPb2EBen4cyIQi 0wKyKqaGEW6iVitccJOa7FtLLNg1bqiNoHIxv4nM3lvmJhSUeY6otP+LuSKcKEg6QeSHAA== --===============1786363385==--