Project

General

Profile

Bug #12398

process.c compile broken for noMMU architectures on 2.3.x

Added by gustavoz (Gustavo Zacarias) over 3 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:75611]

Description

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.
It only affects 2.3.0+


Files

0001-process.c-fix-rb_spawn_process-for-nommu.patch (1.04 KB) 0001-process.c-fix-rb_spawn_process-for-nommu.patch Fix nommu rb_spawn_process() gustavoz (Gustavo Zacarias), 05/19/2016 02:12 PM

Associated revisions

Revision aa107497
Added by nobu (Nobuyoshi Nakada) over 3 years ago

fix build on no-fork-spawnv platforms

  • process.c (rb_execarg_commandline): build command line string from argument vector in rb_execarg. [ruby-core:75611] [Bug #12398]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

Revision 55091
Added by nobu (Nobuyoshi Nakada) over 3 years ago

fix build on no-fork-spawnv platforms

  • process.c (rb_execarg_commandline): build command line string from argument vector in rb_execarg. [ruby-core:75611] [Bug #12398]

Revision 55091
Added by nobu (Nobuyoshi Nakada) over 3 years ago

fix build on no-fork-spawnv platforms

  • process.c (rb_execarg_commandline): build command line string from argument vector in rb_execarg. [ruby-core:75611] [Bug #12398]

Revision 55091
Added by nobu (Nobuyoshi Nakada) over 3 years ago

fix build on no-fork-spawnv platforms

  • process.c (rb_execarg_commandline): build command line string from argument vector in rb_execarg. [ruby-core:75611] [Bug #12398]

Revision 55091
Added by nobu (Nobuyoshi Nakada) over 3 years ago

fix build on no-fork-spawnv platforms

  • process.c (rb_execarg_commandline): build command line string from argument vector in rb_execarg. [ruby-core:75611] [Bug #12398]

Revision 395340fa
Added by nagachika (Tomoyuki Chikanaga) over 3 years ago

merge revision(s) 55090,55091: [Backport #12398]

    io.c: conditionally used functions

    * io.c (pipe_atexit): only used on Windows

    * io.c (rb_execarg_fixup_v): wrapper only used fork or spawnv is

available.
* process.c (rb_execarg_commandline): build command line string
from argument vector in rb_execarg.
[ruby-core:75611] [Bug #12398]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_3@55870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

Revision 55870
Added by nagachika (Tomoyuki Chikanaga) over 3 years ago

merge revision(s) 55090,55091: [Backport #12398]

io.c: conditionally used functions

* io.c (pipe_atexit): only used on Windows

* io.c (rb_execarg_fixup_v): wrapper only used fork or spawnv is

available.
* process.c (rb_execarg_commandline): build command line string
from argument vector in rb_execarg.
[ruby-core:75611] [Bug #12398]

History

Updated by nobu (Nobuyoshi Nakada) over 3 years ago

  • Description updated (diff)
  • Status changed from Open to Feedback

It seems that rb_spawn_process() has been broken since 2.0.
I think we should drop support for such platforms, no-fork, no-spawn, and non-Windows.
Do you have such platforms?

Updated by nobu (Nobuyoshi Nakada) over 3 years ago

BTW, what do you mean by "MMU", "memory management unit"?

#3

Updated by nobu (Nobuyoshi Nakada) over 3 years ago

  • Status changed from Feedback to Closed

Applied in changeset r55091.


fix build on no-fork-spawnv platforms

  • process.c (rb_execarg_commandline): build command line string from argument vector in rb_execarg. [ruby-core:75611] [Bug #12398]

Updated by nagachika (Tomoyuki Chikanaga) over 3 years ago

  • Backport changed from 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN to 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: REQUIRED

Updated by usa (Usaku NAKAMURA) over 3 years ago

  • Backport changed from 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: REQUIRED to 2.1: WONTFIX, 2.2: REQUIRED, 2.3: REQUIRED

Updated by nagachika (Tomoyuki Chikanaga) over 3 years ago

  • Backport changed from 2.1: WONTFIX, 2.2: REQUIRED, 2.3: REQUIRED to 2.1: WONTFIX, 2.2: REQUIRED, 2.3: DONE

ruby_2_3 r55870 merged revision(s) 55090,55091.

Updated by usa (Usaku NAKAMURA) over 3 years ago

  • Backport changed from 2.1: WONTFIX, 2.2: REQUIRED, 2.3: DONE to 2.1: DONTNEED, 2.2: DONTNEED, 2.3: DONE

Also available in: Atom PDF