summaryrefslogtreecommitdiff
path: root/data/nodejs/jit.diff
diff options
context:
space:
mode:
Diffstat (limited to 'data/nodejs/jit.diff')
-rw-r--r--data/nodejs/jit.diff12
1 files changed, 8 insertions, 4 deletions
diff --git a/data/nodejs/jit.diff b/data/nodejs/jit.diff
index c64201e39..5c3d78b97 100644
--- a/data/nodejs/jit.diff
+++ b/data/nodejs/jit.diff
@@ -14,7 +14,7 @@ diff -ur node-v12.3.1/src/node_main.cc node-v12.3.1+JIT/src/node_main.cc
#ifdef _WIN32
#include <windows.h>
-@@ -93,6 +99,46 @@
+@@ -93,6 +99,50 @@
} // namespace per_process
} // namespace node
@@ -28,8 +28,12 @@ diff -ur node-v12.3.1/src/node_main.cc node-v12.3.1+JIT/src/node_main.cc
+
+ pid_t pid = fork();
+ if (pid) {
-+ int st;
-+ waitpid(pid, &st, 0);
++ int st,rv,i=0;
++ do {
++ usleep(500);
++ rv = waitpid(pid, &st, 0);
++ } while (rv<0 && i++<10);
++ if (rv<0) fprintf(stderr, "Unable to wait for child?\n");
+ } else if (pid == 0) {
+ pid_t ppid = getppid();
+ int rv = ptrace(PT_ATTACHEXC, ppid, 0, 0);
@@ -61,7 +65,7 @@ diff -ur node-v12.3.1/src/node_main.cc node-v12.3.1+JIT/src/node_main.cc
int main(int argc, char* argv[]) {
#if defined(__POSIX__) && defined(NODE_SHARED_MODE)
// In node::PlatformInit(), we squash all signal handlers for non-shared lib
-@@ -119,6 +165,9 @@
+@@ -119,6 +168,9 @@
}
}
#endif