summaryrefslogtreecommitdiff
path: root/sql/sql_list.h
diff options
context:
space:
mode:
authorTor Didriksen <tor.didriksen@oracle.com>2012-08-28 16:13:03 +0200
committerTor Didriksen <tor.didriksen@oracle.com>2012-08-28 16:13:03 +0200
commita619bfad30c13207fb0453a85af5740846186900 (patch)
tree5f6f1c9eddb6fc5b679f5632628837b0deb91b0b /sql/sql_list.h
parent456409022de2aefee0ba77cf756d8611ec88984c (diff)
downloadmariadb-git-a619bfad30c13207fb0453a85af5740846186900.tar.gz
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)
Diffstat (limited to 'sql/sql_list.h')
-rw-r--r--sql/sql_list.h4
1 files changed, 4 insertions, 0 deletions
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); }