mirror of
https://github.com/openssl/openssl.git
synced 2024-12-27 06:21:43 +08:00
82d28c6b3c
ossl_sleep() was implemented as a static inline function in internal/e_os.h, using usleep() on Unix and Sleep() on Windows. So far well and good. However, it also has a fallback implementation for systems that do not have usleep() or Sleep(), and that implementation happens to use ossl_time_now(), which is a normal function, private to libcrypto, and is judged to be too complex to sanely make into a static inline function. This fallback creates a problem, because we do use ossl_sleep() in apps/ and a few test programs in test/, and when they are linked with libcrypto in shared library form, ossl_time_now() can't be found, since it's not publicly exposed. Something needs to give, and the easiest, and hopefully sanest answer is to make ossl_sleep() a publicly exposed function, which requires a slight name change. Documentation and 'make update' result included. Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com> (Merged from https://github.com/openssl/openssl/pull/19330)
38 lines
904 B
Plaintext
38 lines
904 B
Plaintext
=pod
|
|
|
|
=head1 NAME
|
|
|
|
OSSL_sleep - delay execution for a specified number of milliseconds
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
#include <openssl/crypto.h>
|
|
|
|
void OSSL_sleep(uint64_t millis);
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
OSSL_sleep() is a convenience function to delay execution of the calling
|
|
thread for (at least) I<millis> milliseconds. The delay is not guaranteed;
|
|
it may be affected by system activity, by the time spent processing the call
|
|
or by system timer granularity.
|
|
|
|
=head1 RETURN VALUES
|
|
|
|
OSSL_sleep() does not return any value.
|
|
|
|
=head1 HISTORY
|
|
|
|
OSSL_sleep() was added in OpenSSL 3.2.
|
|
|
|
=head1 COPYRIGHT
|
|
|
|
Copyright 2022 The OpenSSL Project Authors. All Rights Reserved.
|
|
|
|
Licensed under the Apache License 2.0 (the "License"). You may not use
|
|
this file except in compliance with the License. You can obtain a copy
|
|
in the file LICENSE in the source distribution or at
|
|
L<https://www.openssl.org/source/license.html>.
|
|
|
|
=cut
|