OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Jian Li <jianli@chromium.org> | 2 * Copyright (C) 2009 Jian Li <jianli@chromium.org> |
3 * Copyright (C) 2012 Patrick Gansterer <paroga@paroga.com> | 3 * Copyright (C) 2012 Patrick Gansterer <paroga@paroga.com> |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 10 matching lines...) Expand all Loading... |
21 | 21 |
22 #include "config.h" | 22 #include "config.h" |
23 #include "ThreadSpecific.h" | 23 #include "ThreadSpecific.h" |
24 | 24 |
25 #if OS(WINDOWS) | 25 #if OS(WINDOWS) |
26 | 26 |
27 #include "StdLibExtras.h" | 27 #include "StdLibExtras.h" |
28 #include "ThreadingPrimitives.h" | 28 #include "ThreadingPrimitives.h" |
29 #include "wtf/DoublyLinkedList.h" | 29 #include "wtf/DoublyLinkedList.h" |
30 | 30 |
31 #if !USE(PTHREADS) | |
32 | |
33 namespace WTF { | 31 namespace WTF { |
34 | 32 |
35 static DoublyLinkedList<PlatformThreadSpecificKey>& destructorsList() | 33 static DoublyLinkedList<PlatformThreadSpecificKey>& destructorsList() |
36 { | 34 { |
37 DEFINE_STATIC_LOCAL(DoublyLinkedList<PlatformThreadSpecificKey>, staticList,
()); | 35 DEFINE_STATIC_LOCAL(DoublyLinkedList<PlatformThreadSpecificKey>, staticList,
()); |
38 return staticList; | 36 return staticList; |
39 } | 37 } |
40 | 38 |
41 static Mutex& destructorsMutex() | 39 static Mutex& destructorsMutex() |
42 { | 40 { |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 PlatformThreadSpecificKey* key = destructorsList().head(); | 125 PlatformThreadSpecificKey* key = destructorsList().head(); |
128 while (key) { | 126 while (key) { |
129 PlatformThreadSpecificKey* nextKey = key->next(); | 127 PlatformThreadSpecificKey* nextKey = key->next(); |
130 key->callDestructor(); | 128 key->callDestructor(); |
131 key = nextKey; | 129 key = nextKey; |
132 } | 130 } |
133 } | 131 } |
134 | 132 |
135 } // namespace WTF | 133 } // namespace WTF |
136 | 134 |
137 #endif // !USE(PTHREADS) | |
138 | |
139 #endif // OS(WINDOWS) | 135 #endif // OS(WINDOWS) |
OLD | NEW |