summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-08-16 17:00:19 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2021-08-16 17:00:19 +0900
commita8714b83c40c8736b4ddafef08fa5f0091c9b101 (patch)
tree2faa2d2c4f1772907155df16a804b01618cd3348
parent07b12a1f4829ca3c7d60d56bb5c89069f0758d4c (diff)
`popen()` is not available on emscripten
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/4745
-rw-r--r--io.c6
-rw-r--r--process.c2
2 files changed, 6 insertions, 2 deletions
diff --git a/io.c b/io.c
index 4d5c3acd3a..533542b297 100644
--- a/io.c
+++ b/io.c
@@ -6625,6 +6625,7 @@ struct popen_arg {
#endif
#ifdef HAVE_WORKING_FORK
+# ifndef __EMSCRIPTEN__
static void
popen_redirect(struct popen_arg *p)
{
@@ -6655,6 +6656,7 @@ popen_redirect(struct popen_arg *p)
}
}
}
+# endif
#if defined(__linux__)
/* Linux /proc/self/status contains a line: "FDSize:\t<nnn>\n"
@@ -6735,6 +6737,7 @@ rb_close_before_exec(int lowfd, int maxhint, VALUE noclose_fds)
#endif
}
+# ifndef __EMSCRIPTEN__
static int
popen_exec(void *pp, char *errmsg, size_t errmsg_len)
{
@@ -6742,9 +6745,10 @@ popen_exec(void *pp, char *errmsg, size_t errmsg_len)
return rb_exec_async_signal_safe(p->eargp, errmsg, errmsg_len);
}
+# endif
#endif
-#if defined(HAVE_WORKING_FORK) || defined(HAVE_SPAWNV)
+#if (defined(HAVE_WORKING_FORK) || defined(HAVE_SPAWNV)) && !defined __EMSCRIPTEN__
static VALUE
rb_execarg_fixup_v(VALUE execarg_obj)
{
diff --git a/process.c b/process.c
index 22fa8bd15c..d9853e5a95 100644
--- a/process.c
+++ b/process.c
@@ -4536,7 +4536,7 @@ rb_syswait(rb_pid_t pid)
rb_waitpid(pid, &status, 0);
}
-#if !defined HAVE_WORKING_FORK && !defined HAVE_SPAWNV
+#if !defined HAVE_WORKING_FORK && !defined HAVE_SPAWNV && !defined __EMSCRIPTEN__
char *
rb_execarg_commandline(const struct rb_execarg *eargp, VALUE *prog)
{