From: Gerd Hoffmann Date: Mon, 7 Apr 2025 12:06:28 +0000 (+0200) Subject: rio: add RIO_POLL_METHOD_NONE X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7e53ffa144264024aa7e596c04c998946b4d85b8;p=thirdparty%2Fopenssl.git rio: add RIO_POLL_METHOD_NONE Fixes build on UEFI. Signed-off-by: Gerd Hoffmann Reviewed-by: Saša Nedvědický Reviewed-by: Tomas Mraz Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/27284) --- diff --git a/ssl/rio/poll_builder.c b/ssl/rio/poll_builder.c index 007e360d871..3cfbe3b0aca 100644 --- a/ssl/rio/poll_builder.c +++ b/ssl/rio/poll_builder.c @@ -16,7 +16,9 @@ OSSL_SAFE_MATH_UNSIGNED(size_t, size_t) int ossl_rio_poll_builder_init(RIO_POLL_BUILDER *rpb) { -#if RIO_POLL_METHOD == RIO_POLL_METHOD_SELECT +#if RIO_POLL_METHOD == RIO_POLL_METHOD_NONE + return 0; +#elif RIO_POLL_METHOD == RIO_POLL_METHOD_SELECT FD_ZERO(&rpb->rfd); FD_ZERO(&rpb->wfd); FD_ZERO(&rpb->efd); diff --git a/ssl/rio/poll_builder.h b/ssl/rio/poll_builder.h index ffc9bbf9fca..985e4713b29 100644 --- a/ssl/rio/poll_builder.h +++ b/ssl/rio/poll_builder.h @@ -23,7 +23,9 @@ * FDs. */ typedef struct rio_poll_builder_st { -# if RIO_POLL_METHOD == RIO_POLL_METHOD_SELECT +# if RIO_POLL_METHOD == RIO_POLL_METHOD_NONE + /* nothing */; +# elif RIO_POLL_METHOD == RIO_POLL_METHOD_SELECT fd_set rfd, wfd, efd; int hwm_fd; # elif RIO_POLL_METHOD == RIO_POLL_METHOD_POLL diff --git a/ssl/rio/poll_method.h b/ssl/rio/poll_method.h index 9a6de892708..d5af8663c23 100644 --- a/ssl/rio/poll_method.h +++ b/ssl/rio/poll_method.h @@ -14,9 +14,12 @@ # define RIO_POLL_METHOD_SELECT 1 # define RIO_POLL_METHOD_POLL 2 +# define RIO_POLL_METHOD_NONE 3 # ifndef RIO_POLL_METHOD -# if !defined(OPENSSL_SYS_WINDOWS) && defined(POLLIN) +# if defined(OPENSSL_SYS_UEFI) +# define RIO_POLL_METHOD RIO_POLL_METHOD_NONE +# elif !defined(OPENSSL_SYS_WINDOWS) && defined(POLLIN) # define RIO_POLL_METHOD RIO_POLL_METHOD_POLL # else # define RIO_POLL_METHOD RIO_POLL_METHOD_SELECT