* of the GNU Lesser General Public License.
*/
-#include "ucw/lib.h"
-#include "ucw/threads.h"
+#include <ucw/lib.h>
+#include <ucw/threads.h>
#ifdef CONFIG_UCW_THREADS
/*** Thread context ***/
+static void CONSTRUCTOR_WITH_PRIORITY(10000)
+ucwlib_threads_init_master(void)
+{
+ pthread_mutex_init(&ucwlib_master_mutex, NULL);
+}
+
#ifdef CONFIG_UCW_TLS
__thread struct ucwlib_context ucwlib_context;
xfree(p);
}
-static void CONSTRUCTOR
+static void CONSTRUCTOR_WITH_PRIORITY(10000)
ucwlib_threads_init(void)
{
if (pthread_key_create(&ucwlib_context_key, ucwlib_free_thread_context) < 0)
die("Cannot create pthread_key: %m");
- pthread_mutex_init(&ucwlib_master_mutex, NULL);
}
struct ucwlib_context *
#else /* !CONFIG_UCW_THREADS */
-struct ucwlib_context default_ucwlib_context;
+struct ucwlib_context ucwlib_default_context;
#endif