diff options
author | Yusuke Endoh <mame@ruby-lang.org> | 2020-05-02 21:34:10 +0900 |
---|---|---|
committer | Yusuke Endoh <mame@ruby-lang.org> | 2020-05-02 21:34:10 +0900 |
commit | 91e4e2403e950d06eb49840bdb11409321002847 (patch) | |
tree | 16ab8af0fc4c398dd7f9a27d056cd181d796c8a7 /ruby.c | |
parent | bb2ca762375d89a9c48abb14c4f79d68f2b49a5a (diff) |
internal/process.h: add a no-warning simple wrapper for fork(2)
As fork(2) is deprecated, its calls must be guarded by
`COMPILER_WARNING_IGNORED(-Wdeprecated-declarations)`.
All usages of fork(2) in process have been alread guarded. A new call
to fork(2) was added in ruby.c with f22c4ff359498ab342e4b6d6feb21af6004ee270.
This caused a build failure on Solaris 11.
It may hide a bug to guard big code unnecessarily, so this change
introduces a simple wrapper "rb_fork" whose definition is guarded, and
replaces all calls to fork(2) with the wrapper function.
Diffstat (limited to 'ruby.c')
-rw-r--r-- | ruby.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -56,6 +56,7 @@ #include "internal/missing.h" #include "internal/object.h" #include "internal/parse.h" +#include "internal/process.h" #include "internal/variable.h" #include "mjit.h" #include "ruby/encoding.h" @@ -1635,7 +1636,7 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt) #ifdef HAVE_WORKING_FORK int fds[2]; if (rb_pipe(fds) == 0) { - rb_pid_t pid = fork(); + rb_pid_t pid = rb_fork(); if (pid > 0) { /* exec PAGER with reading from child */ dup2(fds[0], 0); |