summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <cmn@dwim.me>2014-06-12 14:50:08 +0200
committerCarlos Martín Nieto <cmn@dwim.me>2014-06-12 14:50:08 +0200
commit8f897b6f2f4742a7d9189528e082cfe7cecd6f29 (patch)
tree728b560f1afc000760ba7f9cc1e8d7551a46952a
parentcf15ac8aa96304a36699ae65398b7adac0d2ddde (diff)
downloadlibgit2-8f897b6f2f4742a7d9189528e082cfe7cecd6f29.tar.gz
ssl: init also without threads
-rw-r--r--src/global.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/global.c b/src/global.c
index e9c940f2..41428ec4 100644
--- a/src/global.c
+++ b/src/global.c
@@ -47,6 +47,15 @@ static void git__shutdown(void)
}
+static void init_ssl(void)
+{
+#ifdef GIT_SSL
+ SSL_load_error_strings();
+ OpenSSL_add_ssl_algorithms();
+ git__ssl_ctx = SSL_CTX_new(SSLv23_method());
+#endif
+}
+
/**
* Handle the global state with TLS
*
@@ -165,15 +174,6 @@ static pthread_key_t _tls_key;
static pthread_once_t _once_init = PTHREAD_ONCE_INIT;
int init_error = 0;
-static void init_ssl(void)
-{
-#ifdef GIT_SSL
- SSL_load_error_strings();
- OpenSSL_add_ssl_algorithms();
- git__ssl_ctx = SSL_CTX_new(SSLv23_method());
-#endif
-}
-
static void cb__free_status(void *st)
{
git__free(st);
@@ -248,6 +248,7 @@ static git_global_st __state;
int git_threads_init(void)
{
+ init_ssl();
git_atomic_inc(&git__n_inits);
return 0;
}