aboutsummaryrefslogtreecommitdiffstats
path: root/internal.h
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-06-20 10:31:02 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-06-20 10:31:02 +0000
commit826f98e688c5608dcb5aeb749d0511cf2724c3a3 (patch)
tree93a638870da3a0361317fe1a7b27ee0f8a410925 /internal.h
parent2741a598ff9e561c71eb39a57bb19c0a3205eaef (diff)
downloadruby-826f98e688c5608dcb5aeb749d0511cf2724c3a3.tar.gz
* internal.h (rb_execarg_new): declared.
(rb_execarg_get): ditto. * process.c (mark_exec_arg): new function. (free_exec_arg): ditto. (memsize_exec_arg): ditto. (exec_arg_data_type): defined. (rb_execarg_new): new function. (rb_execarg_get): ditto. (rb_f_exec): use rb_execarg_new. (rb_spawn_internal): ditto. (rb_f_spawn): ditto. * io.c (pipe_open_v): use rb_execarg_new. (pipe_open_s): ditto. * ext/pty/pty.c (establishShell): use rb_execarg_new. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'internal.h')
-rw-r--r--internal.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/internal.h b/internal.h
index 3dc6d23d29..50e3df35b3 100644
--- a/internal.h
+++ b/internal.h
@@ -266,6 +266,8 @@ void rb_maygvl_fd_fix_cloexec(int fd);
/* process.c */
int rb_exec_async_signal_safe(const struct rb_exec_arg *e, char *errmsg, size_t errmsg_buflen);
rb_pid_t rb_fork_async_signal_safe(int *status, int (*chfunc)(void*, char *, size_t), void *charg, VALUE fds, char *errmsg, size_t errmsg_buflen);
+VALUE rb_execarg_new(int argc, VALUE *argv, int accept_shell);
+struct rb_exec_arg *rb_execarg_get(VALUE execarg_obj); /* dangerous. needs GC guard. */
VALUE rb_execarg_init(int argc, VALUE *argv, int accept_shell, struct rb_exec_arg *e);
int rb_execarg_addopt(struct rb_exec_arg *e, VALUE key, VALUE val);
void rb_execarg_fixup(struct rb_exec_arg *e);