diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2019-07-24 19:43:37 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2019-07-24 21:21:54 +0300 |
commit | ab6dd774082c57f48d998e03655c06b672799b2d (patch) | |
tree | 25c14f24e255a1480a97960005e415a43a52f3d1 /storage/innobase/handler/ha_innodb.cc | |
parent | 86767f4ac15db953c85a94ed81cd374c653e79dd (diff) | |
download | mariadb-git-ab6dd774082c57f48d998e03655c06b672799b2d.tar.gz |
MDEV-14154: Remove ut_time_us()
Use microsecond_interval_timer()
or my_interval_timer() [in nanoseconds] instead.
Diffstat (limited to 'storage/innobase/handler/ha_innodb.cc')
-rw-r--r-- | storage/innobase/handler/ha_innodb.cc | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index de9096c8fcb..b14fe261c13 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -1685,13 +1685,14 @@ innobase_srv_conc_enter_innodb( } else if (trx->mysql_thd != NULL && thd_is_replication_slave_thread(trx->mysql_thd)) { - - UT_WAIT_FOR( - srv_conc_get_active_threads() - < srv_thread_concurrency, - srv_replication_delay * 1000); - - } else { + const ulonglong end = my_interval_timer() + + ulonglong(srv_replication_delay) * 1000000; + while (srv_conc_get_active_threads() + >= srv_thread_concurrency + || my_interval_timer() >= end) { + os_thread_sleep(2000 /* 2 ms */); + } + } else { srv_conc_enter_innodb(trx); } } |