mariadb/storage
Marc Alff 7553f9eefd Bug#13898343 THREAD LOOPS ENDLESSLY IN LF_PINBOX_PUT_PINS WHILE HOLDING
LOCK_THREAD_COUNT

When using the performance schema file io instrumentation in MySQL 5.5,
a thread would loop forever inside lf_pinbox_put_pins, when disconnecting.
It would also hold LOCK_thread_count while doing so, effectively killing the
server.

The root cause of the loop in lf_pinbox_put_pins() is a leak of LF_PINS,
when used with the filename_hash LF_HASH table in the performance schema.

This fix contains the following changes:

1)
Added the missing call to lf_hash_search_unpin(), to prevent the leak.

2)
In mysys/lf_alloc-pin.c, there was some extra debugging code
(MY_LF_EXTRA_DEBUG) written to detect precisely this kind of issues,
but it was never used.
Replaced MY_LF_EXTRA_DEBUG with DBUG_OFF, so that leaks similar to this one
can be always detected in regular debug builds.

3)
Backported the fix for the following bug, from 5.6 to 5.5:
Bug#13417446 - 63339: INCORRECT FILE PATH IN PEFORMANCE_SCHEMA ON WINDOWS
2012-03-28 17:54:30 +02:00
..
archive Updated/added copyright headers 2012-02-16 10:48:16 +01:00
blackhole Updated/added copyright headers 2012-02-16 10:48:16 +01:00
csv Updated/added copyright headers 2012-02-16 10:48:16 +01:00
example Updated/added copyright headers 2012-02-16 10:48:16 +01:00
federated Updated/added copyright headers 2012-02-16 10:48:16 +01:00
heap Updated/added copyright headers 2012-02-16 10:48:16 +01:00
innobase Merge from mysql-5.1. 2012-03-28 13:59:06 +11:00
myisam Merge 5.1 => 5.5 2012-03-06 13:47:57 +01:00
myisammrg Merging into mysql-5.5.16-release. 2011-08-15 20:12:11 +02:00
ndb Merge from mysql-5.5.14-release 2011-07-06 01:13:50 +02:00
perfschema Bug#13898343 THREAD LOOPS ENDLESSLY IN LF_PINBOX_PUT_PINS WHILE HOLDING 2012-03-28 17:54:30 +02:00