From 48a4ffa48905d76b5bca24252de9697bb1a3ea86 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Mon, 7 Apr 2025 14:06:28 +0200 Subject: [PATCH 57/57] rio: add RIO_POLL_METHOD_NONE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- ssl/rio/poll_builder.c | 4 +++- ssl/rio/poll_builder.h | 4 +++- ssl/rio/poll_method.h | 5 ++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ssl/rio/poll_builder.c b/ssl/rio/poll_builder.c index 007e360d87..3cfbe3b0ac 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 ffc9bbf9fc..985e4713b2 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 9a6de89270..d5af8663c2 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 -- 2.49.0