From a619bfad30c13207fb0453a85af5740846186900 Mon Sep 17 00:00:00 2001 From: Tor Didriksen Date: Tue, 28 Aug 2012 16:13:03 +0200 Subject: Bug#14549809 LINKING PROBLEM IN 5.5.28 BUILDS WITH THREADPOOL PLUGIN The use of Thread_iterator did not work on windows (linking problems). Solution: Change the interface between the thread_pool and the server to only use simple free functions. This patch is for 5.5 only (mimicks similar solution in 5.6) --- sql/sql_list.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'sql/sql_list.h') diff --git a/sql/sql_list.h b/sql/sql_list.h index 769f44274de..c68ecc07e11 100644 --- a/sql/sql_list.h +++ b/sql/sql_list.h @@ -585,6 +585,9 @@ public: inline void empty() { first= &last; last.prev= &first; } base_ilist() { empty(); } inline bool is_empty() { return first == &last; } + // Returns true if p is the last "real" object in the list, + // i.e. p->next points to the sentinel. + inline bool is_last(ilink *p) { return p->next == NULL || p->next == &last; } inline void append(ilink *a) { first->prev= &a->next; @@ -660,6 +663,7 @@ class I_List :private base_ilist { public: I_List() :base_ilist() {} + inline bool is_last(T *p) { return base_ilist::is_last(p); } inline void empty() { base_ilist::empty(); } inline bool is_empty() { return base_ilist::is_empty(); } inline void append(T* a) { base_ilist::append(a); } -- cgit v1.2.1