[openssl-commits] [openssl] master update

Richard Levitte levitte at openssl.org
Fri Jan 13 12:10:39 UTC 2017


The branch master has been updated
       via  37b8f1e21c56996644afa38816f575b05eb483ae (commit)
      from  d62210af2e169d0818c65ff9f20ab5276693b2bf (commit)


- Log -----------------------------------------------------------------
commit 37b8f1e21c56996644afa38816f575b05eb483ae
Author: Richard Levitte <levitte at openssl.org>
Date:   Thu Jan 12 23:13:17 2017 +0100

    Clarify what RUN_ONCE returns
    
    RUN_ONCE really just returns 0 on failure or whatever the init
    function returned.  By convention, however, the init function must
    return 0 on failure and 1 on success.  This needed to be clarified.
    
    Reviewed-by: Matt Caswell <matt at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/2225)

-----------------------------------------------------------------------

Summary of changes:
 include/internal/thread_once.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/include/internal/thread_once.h b/include/internal/thread_once.h
index 74f6ccb..2242443 100644
--- a/include/internal/thread_once.h
+++ b/include/internal/thread_once.h
@@ -34,9 +34,12 @@
  * RUN_ONCE - use CRYPTO_THREAD_run_once, and check if the init succeeded
  * @once: pointer to static object of type CRYPTO_ONCE
  * @init: function name that was previously given to DEFINE_RUN_ONCE,
- *        DEFINE_RUN_ONCE_STATIC or DECLARE_RUN_ONCE.
+ *        DEFINE_RUN_ONCE_STATIC or DECLARE_RUN_ONCE.  This function
+ *        must return 1 for success or 0 for failure.
  *
- * The return value is 1 on success or 0 in case of error.
+ * The return value is 1 on success (*) or 0 in case of error.
+ *
+ * (*) by convention, since the init function must return 1 on success.
  */
 #define RUN_ONCE(once, init)                                            \
     (CRYPTO_THREAD_run_once(once, init##_ossl_) ? init##_ossl_ret_ : 0)


More information about the openssl-commits mailing list