diff options
author | Matt Caswell <matt@openssl.org> | 2021-11-05 13:42:40 +0000 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2021-11-15 14:22:41 +0000 |
commit | d740c9d59bcff6879bc7d6ecf8b82c9300991b50 (patch) | |
tree | 3f46ee60c16545ed9d13b09d49afe92b08fe69e2 /doc | |
parent | 4f224595162b7996bfb673457ea9d37f11478793 (diff) |
Don't attempt to deactive child providers if we don't need to
If a provider doesn't have any child providers then there is no need
to attempt to remove them - so we should not do so. This removes some
potentialy thread races.
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17018)
Diffstat (limited to 'doc')
-rw-r--r-- | doc/internal/man3/ossl_provider_new.pod | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/doc/internal/man3/ossl_provider_new.pod b/doc/internal/man3/ossl_provider_new.pod index 10d197bcfc..6f1681e981 100644 --- a/doc/internal/man3/ossl_provider_new.pod +++ b/doc/internal/man3/ossl_provider_new.pod @@ -54,7 +54,7 @@ ossl_provider_get_capabilities * If the Provider is a module, the module will be loaded */ int ossl_provider_activate(OSSL_PROVIDER *prov, int upcalls, int aschild); - int ossl_provider_deactivate(OSSL_PROVIDER *prov); + int ossl_provider_deactivate(OSSL_PROVIDER *prov, int removechildren); int ossl_provider_add_to_store(OSSL_PROVIDER *prov, OSSL_PROVIDER **actualprov, int retain_fallbacks); @@ -226,7 +226,9 @@ no action is taken and ossl_provider_activate() returns success. ossl_provider_deactivate() "deactivates" the provider for the given provider object I<prov> by decrementing its activation count. When -that count reaches zero, the activation flag is cleared. +that count reaches zero, the activation flag is cleared. If the +I<removechildren> parameter is 0 then no attempt is made to remove any +associated child providers. ossl_provider_add_to_store() adds the provider I<prov> to the provider store and makes it available to other threads. This will prevent future automatic loading |