openssl/doc/man3/OSSL_sleep.pod
Richard Levitte 82d28c6b3c Rename ossl_sleep() to OSSL_sleep() and make it public
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)
2022-10-06 08:01:09 +02:00

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