diff options
author | Vicent Marti <tanoku@gmail.com> | 2011-11-16 17:09:44 +0400 |
---|---|---|
committer | Vicent Marti <tanoku@gmail.com> | 2011-11-16 17:09:44 +0400 |
commit | a15c550db8b0552902e58c9bf2194005fb7fb0e9 (patch) | |
tree | b33084b89561613dc8c9592c18b1dedcc8b06375 /src/global.h | |
parent | b0b2dd5ecc2d309875e8dcd744fa5ff0a55b8fe5 (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.h | 24 |
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 |