From 05316c40ac6872eb2b91b9d08b4b9e36cbac488d Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 26 Jul 2018 09:32:42 +0000 Subject: fork() is deprecated on Solaris git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- mjit.c | 7 +++++++ process.c | 14 ++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/mjit.c b/mjit.c index 36ffae4bf2..43449851ec 100644 --- a/mjit.c +++ b/mjit.c @@ -381,7 +381,14 @@ start_process(const char *path, char *const *argv) } dev_null = rb_cloexec_open(ruby_null_device, O_WRONLY, 0); +#ifdef __GNUC__ +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif if ((pid = vfork()) == 0) { +#ifdef __GNUC__ +# pragma GCC diagnostic pop +#endif umask(0077); if (mjit_opts.verbose == 0) { /* CC can be started in a thread using a file which has been diff --git a/process.c b/process.c index d1d33dd1b0..956db995ca 100644 --- a/process.c +++ b/process.c @@ -3867,6 +3867,10 @@ retry_fork_async_signal_safe(int *status, int *ep, while (1) { prefork(); disable_child_handler_before_fork(&old); +#ifdef __GNUC__ +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif #ifdef HAVE_WORKING_VFORK if (!has_privilege()) pid = vfork(); @@ -3874,6 +3878,9 @@ retry_fork_async_signal_safe(int *status, int *ep, pid = fork(); #else pid = fork(); +#endif +#ifdef __GNUC__ +# pragma GCC diagnostic pop #endif if (pid == 0) {/* fork succeed, child process */ int ret; @@ -3943,7 +3950,14 @@ rb_fork_ruby(int *status) prefork(); disable_child_handler_before_fork(&old); before_fork_ruby(); +#ifdef __GNUC__ +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif pid = fork(); +#ifdef __GNUC__ +# pragma GCC diagnostic pop +#endif err = errno; after_fork_ruby(); disable_child_handler_fork_parent(&old); /* yes, bad name */ -- cgit v1.2.3