74 lines
2.4 KiB
Diff
74 lines
2.4 KiB
Diff
From 48a4ffa48905d76b5bca24252de9697bb1a3ea86 Mon Sep 17 00:00:00 2001
|
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
|
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 <kraxel@redhat.com>
|
|
|
|
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
|
|
Reviewed-by: Tomas Mraz <tomas@openssl.org>
|
|
Reviewed-by: Matt Caswell <matt@openssl.org>
|
|
(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
|
|
|