diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-06-03 14:53:13 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-06-03 14:53:13 +0000 |
commit | 9ee4575ea418992d3a03eb7065d31159bb51fb72 (patch) | |
tree | 2fe4d3fc7942c03145b167f4775e97fcd7708106 /include | |
parent | d70af743bf5d9d3a83d1b1a3ddfc0eb88ec93487 (diff) | |
download | ruby-9ee4575ea418992d3a03eb7065d31159bb51fb72.tar.gz |
* include/ruby/intern.h (rb_exec_arg): remove argc and argv fields.
add use_shell, argv_str and argv_buf fields.
* process.c (rb_proc_exec_e): don't split shell command line arguments
here to avoid memory allocation in a child process.
(rb_exec_fillarg): split shell command line arguments here.
(proc_exec_v): takes argv_str argument instead of argv.
(rb_proc_exec_ne): removed.
(rb_proc_exec_n): removed.
(rb_run_exec_options_err): don't initialize the removed fields.
(rb_exec_err): don't initialize the removed fields.
call proc_exec_v directly instead of rb_proc_exec_ne.
(rb_spawn_process): use use_shell field.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'include')
-rw-r--r-- | include/ruby/intern.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/include/ruby/intern.h b/include/ruby/intern.h index 693e52b5bd..e963d99b06 100644 --- a/include/ruby/intern.h +++ b/include/ruby/intern.h @@ -592,12 +592,13 @@ VALUE rb_sym_all_symbols(void); void rb_last_status_set(int status, rb_pid_t pid); VALUE rb_last_status_get(void); struct rb_exec_arg { - int argc; - VALUE *argv; const char *prog; VALUE options; VALUE redirect_fds; VALUE progname; + int use_shell; + VALUE argv_str; + VALUE argv_buf; VALUE envp_str; VALUE envp_buf; }; |