pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/libuv libuv: fix incorrect handling of multiple ...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/fc9ce746c233
branches:  trunk
changeset: 379394:fc9ce746c233
user:      wiz <wiz%pkgsrc.org@localhost>
date:      Sun May 15 19:23:43 2022 +0000

description:
libuv: fix incorrect handling of multiple kqueue events for the same fd

This sometimes causes cmake to hang while waiting for child processes
to exit.

Debugged by and patch from chuq, thanks a lot!

Bump PKGREVISION.

diffstat:

 devel/libuv/Makefile                        |   3 ++-
 devel/libuv/distinfo                        |   3 ++-
 devel/libuv/patches/patch-src_unix_kqueue.c |  15 +++++++++++++++
 3 files changed, 19 insertions(+), 2 deletions(-)

diffs (48 lines):

diff -r 994856ab4fbd -r fc9ce746c233 devel/libuv/Makefile
--- a/devel/libuv/Makefile      Sun May 15 19:22:06 2022 +0000
+++ b/devel/libuv/Makefile      Sun May 15 19:23:43 2022 +0000
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.73 2022/03/12 08:27:54 adam Exp $
+# $NetBSD: Makefile,v 1.74 2022/05/15 19:23:43 wiz Exp $
 
 DISTNAME=      libuv-1.44.1
+PKGREVISION=   1
 CATEGORIES=    devel
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=libuv/}
 GITHUB_TAG=    v${PKGVERSION_NOREV}
diff -r 994856ab4fbd -r fc9ce746c233 devel/libuv/distinfo
--- a/devel/libuv/distinfo      Sun May 15 19:22:06 2022 +0000
+++ b/devel/libuv/distinfo      Sun May 15 19:23:43 2022 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.73 2022/03/12 08:27:54 adam Exp $
+$NetBSD: distinfo,v 1.74 2022/05/15 19:23:43 wiz Exp $
 
 BLAKE2s (libuv-1.44.1.tar.gz) = ef36304ee0763cb9556b4c1bbf655ce044f0c753be019ad2e6ff5c6944128791
 SHA512 (libuv-1.44.1.tar.gz) = 050b5f91540d126bef0a35681f8dd347296d3be32671b1c785494e78f5367b4ab064ece3f594523e09b08bcac284377d5fb123ba441fb570d25c5146aa484c8e
@@ -7,6 +7,7 @@
 SHA1 (patch-src_unix_core.c) = fb2d24e7d842f6739f14c191ee30c71f56113081
 SHA1 (patch-src_unix_darwin-proctitle.c) = e726550cdd884a1fa73f6ea79592df643f954e97
 SHA1 (patch-src_unix_fs.c) = 80529332f27a4faa2733448169d24436901b601a
+SHA1 (patch-src_unix_kqueue.c) = db32c0418f51a61bda5e93cc54c38db6c563ed31
 SHA1 (patch-src_unix_netbsd.c) = 071a2a853f9a73dc72e24d63316aa21b28669469
 SHA1 (patch-src_unix_tty.c) = 157be1b1272dc38b3605a9822316e6cb2ddb6f22
 SHA1 (patch-src_unix_udp.c) = 9f03175bcc9c4e3097033309d9dd935ff5f10b02
diff -r 994856ab4fbd -r fc9ce746c233 devel/libuv/patches/patch-src_unix_kqueue.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/libuv/patches/patch-src_unix_kqueue.c       Sun May 15 19:23:43 2022 +0000
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_unix_kqueue.c,v 1.1 2022/05/15 19:23:43 wiz Exp $
+
+Fix cmake hang.
+
+--- src/unix/kqueue.c.orig     2022-03-09 17:54:54.000000000 +0000
++++ src/unix/kqueue.c
+@@ -456,7 +456,7 @@ void uv__platform_invalidate_fd(uv_loop_
+ 
+   /* Invalidate events with same file descriptor */
+   for (i = 0; i < nfds; i++)
+-    if ((int) events[i].ident == fd)
++    if ((int) events[i].ident == fd && events[i].filter != EVFILT_PROC)
+       events[i].ident = -1;
+ }
+ 



Home | Main Index | Thread Index | Old Index