Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/libgit2.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVicent Marti <tanoku@gmail.com>2011-11-16 17:09:44 +0400
committerVicent Marti <tanoku@gmail.com>2011-11-16 17:09:44 +0400
commita15c550db8b0552902e58c9bf2194005fb7fb0e9 (patch)
treeb33084b89561613dc8c9592c18b1dedcc8b06375 /src/global.h
parentb0b2dd5ecc2d309875e8dcd744fa5ff0a55b8fe5 (diff)
threads: Fix the shared global state with TLS
See `global.c` for a description of what we're doing. When libgit2 is built with GIT_THREADS support, the threading system must be explicitly initialized with `git_threads_init()`.
Diffstat (limited to 'src/global.h')
-rw-r--r--src/global.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/global.h b/src/global.h
new file mode 100644
index 000000000..641f47cbc
--- /dev/null
+++ b/src/global.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2009-2011 the libgit2 contributors
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+#ifndef INCLUDE_global_h__
+#define INCLUDE_global_h__
+
+#include "mwindow.h"
+
+typedef struct {
+ struct {
+ char last[1024];
+ } error;
+
+ git_mwindow_ctl mem_ctl;
+} git_global_st;
+
+git_global_st *git__global_state(void);
+
+#define GIT_GLOBAL (git__global_state())
+
+#endif