| From 24e6d5bcf791a5c3f46191e544731420ff8b1312 Mon Sep 17 00:00:00 2001 |
| From: Gustavo Zacarias <gustavo@zacarias.com.ar> |
| Date: Thu, 19 May 2016 11:10:02 -0300 |
| Subject: [PATCH] process.c: fix rb_spawn_process() for nommu |
| |
| rb_spawn_process() in process.c tries different solutions for when fork |
| and/or spawnv are/aren't available. |
| The last resort when both aren't is to use the system() call which |
| stores the value in the status variable, which isn't declared. |
| |
| Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> |
| --- |
| Patch status: reported https://bugs.ruby-lang.org/issues/12398 |
| |
| process.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| diff --git a/process.c b/process.c |
| index e196639..40967f7 100644 |
| --- a/process.c |
| +++ b/process.c |
| @@ -3897,6 +3897,9 @@ rb_spawn_process(struct rb_execarg *eargp, char *errmsg, size_t errmsg_buflen) |
| VALUE prog; |
| struct rb_execarg sarg; |
| #endif |
| +#if !defined HAVE_WORKING_FORK || !USE_SPAWNV |
| + int status; |
| +#endif |
| |
| #if defined HAVE_WORKING_FORK && !USE_SPAWNV |
| pid = rb_fork_async_signal_safe(NULL, rb_exec_atfork, eargp, eargp->redirect_fds, errmsg, errmsg_buflen); |
| -- |
| 2.7.3 |
| |