summaryrefslogtreecommitdiff
path: root/include/git2/sys
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2014-12-20 21:24:45 -0600
committerEdward Thomson <ethomson@edwardthomson.com>2014-12-20 21:24:45 -0600
commitd147900ea4756975effa6cb568f932a4e3eb698f (patch)
tree01ea30a3dcd7efbdf9fbe9ce01c20fc0f4ccbcb2 /include/git2/sys
parent25a03d4ad4a5ff9c3cdacb788c6ef3fbd3679b5c (diff)
parent5192bcc52cbc7f049ef85f52a997a44cb4ebe5c7 (diff)
downloadlibgit2-d147900ea4756975effa6cb568f932a4e3eb698f.tar.gz
Merge pull request #2759 from libgit2/cmn/openssl-sys
Make OpenSSL locking warnings more severe
Diffstat (limited to 'include/git2/sys')
-rw-r--r--include/git2/sys/openssl.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/include/git2/sys/openssl.h b/include/git2/sys/openssl.h
new file mode 100644
index 000000000..ad05e6ca8
--- /dev/null
+++ b/include/git2/sys/openssl.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * 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_git_openssl_h__
+#define INCLUDE_git_openssl_h__
+
+#include "common.h"
+
+GIT_BEGIN_DECL
+
+/**
+ * Initialize the OpenSSL locks
+ *
+ * OpenSSL requires the application to determine how it performs
+ * locking.
+ *
+ * This is a last-resort convenience function which libgit2 provides for
+ * allocating and initializing the locks as well as setting the
+ * locking function to use the system's native locking functions.
+ *
+ * The locking function will be cleared and the memory will be freed
+ * when you call git_threads_sutdown().
+ *
+ * If your programming language has an OpenSSL package/bindings, it
+ * likely sets up locking. You should very strongly prefer that over
+ * this function.
+ *
+ * @return 0 on success, -1 if there are errors or if libgit2 was not
+ * built with OpenSSL and threading support.
+ */
+GIT_EXTERN(int) git_openssl_set_locking(void);
+
+GIT_END_DECL
+#endif
+