On 2026/02/17 20:49, Alexander HOTZ wrote:
> I finally got around to test the diff, and can confirm that it does indeed 
> fix the reported issue!
> The test was done on a fresh OpenBSD 7.8 installation.
> 
> Thank you so much for providing the patch, and sorry that it took me so long 
> to test it...

Here it is again with an update to apr-1.7.6. ok with you Stefan?


Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/apr/Makefile,v
diff -u -p -r1.54 Makefile
--- Makefile    10 Dec 2024 00:18:16 -0000      1.54
+++ Makefile    18 Feb 2026 10:33:03 -0000
@@ -1,7 +1,6 @@
 COMMENT=       Apache Portable Runtime
 
-V=             1.7.5
-REVISION=      0
+V=             1.7.6
 DISTNAME=      apr-$V
 SHARED_LIBS += apr-1             7.2     # .6.2
 
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/apr/distinfo,v
diff -u -p -r1.18 distinfo
--- distinfo    7 Nov 2024 10:34:56 -0000       1.18
+++ distinfo    18 Feb 2026 10:33:03 -0000
@@ -1,2 +1,2 @@
-SHA256 (apr-1.7.5.tar.gz) = M3X6Nl1nvPlF5StSy6B6vqV+9TD0Cygf++l3qSUTYds=
-SIZE (apr-1.7.5.tar.gz) = 1131871
+SHA256 (apr-1.7.6.tar.gz) = ahDn90MFEGAK8l+r9Gbh32GqrpEL8dxdEMRKRDPMyB0=
+SIZE (apr-1.7.6.tar.gz) = 1138032
Index: patches/patch-poll_unix_poll_c
===================================================================
RCS file: patches/patch-poll_unix_poll_c
diff -N patches/patch-poll_unix_poll_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-poll_unix_poll_c      18 Feb 2026 10:33:03 -0000
@@ -0,0 +1,42 @@
+https://bz.apache.org/bugzilla/show_bug.cgi?id=69410
+https://bz.apache.org/bugzilla/attachment.cgi?id=39941&action=diff&collapsed=&headers=1&format=raw
+
+Index: poll/unix/poll.c
+--- poll/unix/poll.c.orig
++++ poll/unix/poll.c
+@@ -113,7 +113,10 @@ APR_DECLARE(apr_status_t) apr_poll(apr_pollfd_t *aprse
+     }
+     num_to_poll = i;
+ 
+-    if (timeout > 0) {
++    if (timeout < 0) {
++        timeout = -1;
++    }
++    else if (timeout > 0) {
+         /* convert microseconds to milliseconds (round up) */
+         timeout = (timeout + 999) / 1000;
+     }
+@@ -255,7 +258,10 @@ static apr_status_t impl_pollset_poll(apr_pollset_t *p
+     }
+ #endif
+ 
+-    if (timeout > 0) {
++    if (timeout < 0) {
++        timeout = -1;
++    }
++    else if (timeout > 0) {
+         timeout = (timeout + 999) / 1000;
+     }
+ 
+@@ -411,7 +417,10 @@ static apr_status_t impl_pollcb_poll(apr_pollcb_t *pol
+     }
+ #endif
+ 
+-    if (timeout > 0) {
++    if (timeout < 0) {
++        timeout = -1;
++    }
++    else if (timeout > 0) {
+         timeout = (timeout + 999) / 1000;
+     }
+ 
Index: patches/patch-support_unix_waitio_c
===================================================================
RCS file: patches/patch-support_unix_waitio_c
diff -N patches/patch-support_unix_waitio_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-support_unix_waitio_c 18 Feb 2026 10:33:03 -0000
@@ -0,0 +1,18 @@
+https://bz.apache.org/bugzilla/show_bug.cgi?id=69410
+https://bz.apache.org/bugzilla/attachment.cgi?id=39941&action=diff&collapsed=&headers=1&format=raw
+
+Index: support/unix/waitio.c
+--- support/unix/waitio.c.orig
++++ support/unix/waitio.c
+@@ -46,7 +46,10 @@ apr_status_t apr_wait_for_io_or_timeout(apr_file_t *f,
+     pfd.fd     = f        ? f->filedes        : s->socketdes;
+     pfd.events = for_read ? POLLIN            : POLLOUT;
+ 
+-    if (timeout > 0) {
++    if (timeout < 0) {
++        timeout = -1;
++    }
++    else if (timeout > 0) {
+         timeout = (timeout + 999) / 1000;
+     }
+     do {

Reply via email to