summaryrefslogtreecommitdiff
path: root/mysql-test/suite/innodb_i_s/innodb_locks.result
diff options
context:
space:
mode:
authorVladislav Vaintroub <wlad@mariadb.com>2020-01-22 00:01:25 +0100
committerVladislav Vaintroub <wlad@mariadb.com>2020-01-22 00:01:25 +0100
commitc20bf8fd494edd4e4931557395b8a2bdf6cc48ab (patch)
tree04edfaf895cafe915183e3c4d7cb53f6a662c005 /mysql-test/suite/innodb_i_s/innodb_locks.result
parent92d6c13206b199f24384ed2504ed479b0f59c314 (diff)
downloadmariadb-git-c20bf8fd494edd4e4931557395b8a2bdf6cc48ab.tar.gz
MDEV-21551 Fix calculation of current concurrency level in
maybe_wake_or_create_thread() A task that is executed,could be counted as waiting (after wait_begin() before wait_end()) or as long-running (callback runs for a long time). If task is both marked waiting and long running, then calculation of current concurrency (# of executing tasks - # of long tasks - #of waiting tasks) is wrong, as task is counted twice. Thus current concurrency could go negative, but with unsigned arithmetic it will become a huge number. As a result, maybe_wake_or_create_thread() would neither wake or create a thread, when it should. Which may result in a deadlock.
Diffstat (limited to 'mysql-test/suite/innodb_i_s/innodb_locks.result')
0 files changed, 0 insertions, 0 deletions