diff --git a/mysql-test/r/stat_tables_par.result b/mysql-test/r/stat_tables_par.result index 006df89..09ee2bb 100644 --- a/mysql-test/r/stat_tables_par.result +++ b/mysql-test/r/stat_tables_par.result @@ -235,7 +235,7 @@ connect con1, localhost, root,,; connect con2, localhost, root,,; connection con1; set debug_sync='statistics_update_start SIGNAL parker WAIT_FOR go1 EXECUTE 1'; -set debug_sync='thr_multi_lock_after_thr_lock SIGNAL go2 EXECUTE 2'; +set debug_sync='thr_multi_lock_before_thr_lock SIGNAL go2 EXECUTE 3'; use dbt3_s001; analyze table lineitem persistent for all; connection con2; diff --git a/mysql-test/r/stat_tables_par_innodb.result b/mysql-test/r/stat_tables_par_innodb.result index 8fc0483..f739cdb 100644 --- a/mysql-test/r/stat_tables_par_innodb.result +++ b/mysql-test/r/stat_tables_par_innodb.result @@ -266,7 +266,7 @@ connect con1, localhost, root,,; connect con2, localhost, root,,; connection con1; set debug_sync='statistics_update_start SIGNAL parker WAIT_FOR go1 EXECUTE 1'; -set debug_sync='thr_multi_lock_after_thr_lock SIGNAL go2 EXECUTE 2'; +set debug_sync='thr_multi_lock_before_thr_lock SIGNAL go2 EXECUTE 2'; use dbt3_s001; analyze table lineitem persistent for all; connection con2; diff --git a/mysql-test/t/stat_tables_par.test b/mysql-test/t/stat_tables_par.test index 1866eb7..9d40389 100644 --- a/mysql-test/t/stat_tables_par.test +++ b/mysql-test/t/stat_tables_par.test @@ -209,7 +209,7 @@ connect (con2, localhost, root,,); connection con1; set debug_sync='statistics_update_start SIGNAL parker WAIT_FOR go1 EXECUTE 1'; -set debug_sync='thr_multi_lock_after_thr_lock SIGNAL go2 EXECUTE 2'; +set debug_sync='thr_multi_lock_before_thr_lock SIGNAL go2 EXECUTE 3'; use dbt3_s001; --send analyze table lineitem persistent for all diff --git a/mysys/thr_lock.c b/mysys/thr_lock.c index c168957..2511367 100644 --- a/mysys/thr_lock.c +++ b/mysys/thr_lock.c @@ -1288,6 +1288,7 @@ thr_multi_lock(THR_LOCK_DATA **data, uint count, THR_LOCK_INFO *owner, DBUG_RETURN(THR_LOCK_SUCCESS); /* lock everything */ + DEBUG_SYNC_C("thr_multi_lock_before_thr_lock"); for (pos=data,end=data+count; pos < end ; pos++) { enum enum_thr_lock_result result= thr_lock(*pos, owner, lock_wait_timeout); @@ -1299,12 +1300,12 @@ thr_multi_lock(THR_LOCK_DATA **data, uint count, THR_LOCK_INFO *owner, (*pos)->type= TL_UNLOCK; DBUG_RETURN(result); } - DEBUG_SYNC_C("thr_multi_lock_after_thr_lock"); #ifdef MAIN printf("Thread: %s Got lock: 0x%lx type: %d\n",my_thread_name(), (long) pos[0]->lock, pos[0]->type); fflush(stdout); #endif } + DEBUG_SYNC_C("thr_multi_lock_after_thr_lock"); /* Call start_trans for all locks.