From 263b1d6ed97d56608f9a358fa0bfe9e66c968f36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Fri, 12 Dec 2014 08:29:43 +0100 Subject: Make the OpenSSL locking function warnings more severe Our git_openssl_set_locking() would ideally not exist. Make it clearer that we provide it as a last resort and you should prefer anything else. --- include/git2.h | 1 - include/git2/sys/openssl.h | 38 ++++++++++++++++++++++++++++++++++++++ include/git2/threads.h | 40 ---------------------------------------- 3 files changed, 38 insertions(+), 41 deletions(-) create mode 100644 include/git2/sys/openssl.h delete mode 100644 include/git2/threads.h (limited to 'include') diff --git a/include/git2.h b/include/git2.h index b36bb5365..cf6b5cb89 100644 --- a/include/git2.h +++ b/include/git2.h @@ -57,7 +57,6 @@ #include "git2/status.h" #include "git2/submodule.h" #include "git2/tag.h" -#include "git2/threads.h" #include "git2/transport.h" #include "git2/tree.h" #include "git2/types.h" 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 + diff --git a/include/git2/threads.h b/include/git2/threads.h deleted file mode 100644 index c0c3898d9..000000000 --- a/include/git2/threads.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * 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_threads_h__ -#define INCLUDE_git_threads_h__ - -#include "common.h" - -/** - * @file git2/threads.h - * @brief Library level thread functions - * @defgroup git_thread Threading functions - * @ingroup Git - * @{ - */ -GIT_BEGIN_DECL - -/** - * Initialize the OpenSSL locks - * - * OpenSSL requires the application to determine how it performs - * locking. This is a 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(). - * - * @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 - -- cgit v1.2.1