pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/lang/nodejs24
Module Name: pkgsrc
Committed By: wiz
Date: Fri Jul 17 20:50:29 UTC 2026
Modified Files:
pkgsrc/lang/nodejs24: Makefile distinfo
Added Files:
pkgsrc/lang/nodejs24/patches: patch-src_node__platform.cc
patch-src_node__platform.h
Log Message:
nodejs24: fix hang on shutdown
patch from upstream pull request
Bump PKGREVISION.
To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 pkgsrc/lang/nodejs24/Makefile \
pkgsrc/lang/nodejs24/distinfo
cvs rdiff -u -r0 -r1.1 \
pkgsrc/lang/nodejs24/patches/patch-src_node__platform.cc \
pkgsrc/lang/nodejs24/patches/patch-src_node__platform.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/lang/nodejs24/Makefile
diff -u pkgsrc/lang/nodejs24/Makefile:1.12 pkgsrc/lang/nodejs24/Makefile:1.13
--- pkgsrc/lang/nodejs24/Makefile:1.12 Wed Jun 24 14:18:08 2026
+++ pkgsrc/lang/nodejs24/Makefile Fri Jul 17 20:50:28 2026
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.12 2026/06/24 14:18:08 adam Exp $
+# $NetBSD: Makefile,v 1.13 2026/07/17 20:50:28 wiz Exp $
DISTNAME= node-v24.18.0
+PKGREVISION= 1
EXTRACT_SUFX= .tar.xz
USE_LANGUAGES= c c++
Index: pkgsrc/lang/nodejs24/distinfo
diff -u pkgsrc/lang/nodejs24/distinfo:1.12 pkgsrc/lang/nodejs24/distinfo:1.13
--- pkgsrc/lang/nodejs24/distinfo:1.12 Wed Jun 24 14:18:08 2026
+++ pkgsrc/lang/nodejs24/distinfo Fri Jul 17 20:50:28 2026
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.12 2026/06/24 14:18:08 adam Exp $
+$NetBSD: distinfo,v 1.13 2026/07/17 20:50:28 wiz Exp $
BLAKE2s (node-v24.18.0.tar.xz) = 0cf04eff7767f7860e9edacfa75f1feb59d01b2a09183a4af1fc59a782bf6383
SHA512 (node-v24.18.0.tar.xz) = 8267d57834fe4563a54ea814c09b38fc9520369b3e030cae36d7024d06278465c2675d7b9422de6215a281658cfb7db079124d5ac9f6b90d630d7c1ed3766df8
@@ -21,6 +21,8 @@ SHA1 (patch-node.gypi) = 4a104dba6c22702
SHA1 (patch-src_compile__cache.cc) = 39a85bcb1ebe7c9bf7c431d6dc60dca5b9d63aaf
SHA1 (patch-src_crypto_crypto__rsa.cc) = 299fc4326411d62d580dd3395b5d7f94c70164cb
SHA1 (patch-src_inspector__agent.cc) = 3fd3d71f9d6013a6eb2a79e0442b31d2e2408a2f
+SHA1 (patch-src_node__platform.cc) = 4f34b197fc95f00ee6d79a662ce5c19cd8a0fae7
+SHA1 (patch-src_node__platform.h) = a68171f87030b59c657c45ebb8147e967a3af7b1
SHA1 (patch-src_node__postmortem__metadata.cc) = 9938482d724ad6636af5dc3fa719ec26ed8539ff
SHA1 (patch-tools_gyp_pylib_gyp_generator_make.py) = bf48cd3b928797d347b8ad8344e3965ad11e5ea7
SHA1 (patch-tools_gyp_pylib_gyp_xcode__emulation.py) = 4ee24115f5e97ffbd23aaa6dc62f408d381d4e22
Added files:
Index: pkgsrc/lang/nodejs24/patches/patch-src_node__platform.cc
diff -u /dev/null pkgsrc/lang/nodejs24/patches/patch-src_node__platform.cc:1.1
--- /dev/null Fri Jul 17 20:50:29 2026
+++ pkgsrc/lang/nodejs24/patches/patch-src_node__platform.cc Fri Jul 17 20:50:28 2026
@@ -0,0 +1,45 @@
+$NetBSD: patch-src_node__platform.cc,v 1.1 2026/07/17 20:50:28 wiz Exp $
+
+https://github.com/nodejs/node/pull/64283
+
+--- src/node_platform.cc.orig 2026-06-23 21:45:00.000000000 +0000
++++ src/node_platform.cc
+@@ -526,6 +526,12 @@ void NodePlatform::Shutdown() {
+ void NodePlatform::Shutdown() {
+ if (has_shut_down_) return;
+ has_shut_down_ = true;
++
++ // V8 background tasks may be parked waiting for foreground GC work before
++ // they can return from the worker thread task.
++ while (FlushForegroundTasksForAllIsolates()) {
++ }
++
+ worker_thread_task_runner_->Shutdown();
+
+ {
+@@ -715,6 +721,25 @@ bool NodePlatform::FlushForegroundTasks(Isolate* isola
+ std::shared_ptr<PerIsolatePlatformData> per_isolate = ForNodeIsolate(isolate);
+ if (!per_isolate) return false;
+ return per_isolate->FlushForegroundTasksInternal();
++}
++
++bool NodePlatform::FlushForegroundTasksForAllIsolates() {
++ std::vector<std::shared_ptr<PerIsolatePlatformData>> per_isolates;
++ {
++ Mutex::ScopedLock lock(per_isolate_mutex_);
++ per_isolates.reserve(per_isolate_.size());
++ for (const auto& entry : per_isolate_) {
++ if (entry.second.second) {
++ per_isolates.push_back(entry.second.second);
++ }
++ }
++ }
++
++ bool did_work = false;
++ for (const auto& per_isolate : per_isolates) {
++ did_work |= per_isolate->FlushForegroundTasksInternal();
++ }
++ return did_work;
+ }
+
+ std::unique_ptr<v8::JobHandle> NodePlatform::CreateJobImpl(
Index: pkgsrc/lang/nodejs24/patches/patch-src_node__platform.h
diff -u /dev/null pkgsrc/lang/nodejs24/patches/patch-src_node__platform.h:1.1
--- /dev/null Fri Jul 17 20:50:29 2026
+++ pkgsrc/lang/nodejs24/patches/patch-src_node__platform.h Fri Jul 17 20:50:28 2026
@@ -0,0 +1,14 @@
+$NetBSD: patch-src_node__platform.h,v 1.1 2026/07/17 20:50:28 wiz Exp $
+
+https://github.com/nodejs/node/pull/64283
+
+--- src/node_platform.h.orig 2026-06-23 21:45:00.000000000 +0000
++++ src/node_platform.h
+@@ -266,6 +266,7 @@ class NodePlatform : public MultiIsolatePlatform {
+ private:
+ IsolatePlatformDelegate* ForIsolate(v8::Isolate* isolate);
+ std::shared_ptr<PerIsolatePlatformData> ForNodeIsolate(v8::Isolate* isolate);
++ bool FlushForegroundTasksForAllIsolates();
+
+ Mutex per_isolate_mutex_;
+ using DelegatePair = std::pair<IsolatePlatformDelegate*,
Home |
Main Index |
Thread Index |
Old Index