summaryrefslogtreecommitdiff
path: root/intern.h
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-02-16 06:45:32 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-02-16 06:45:32 +0000
commit03d8c88b8774d40f3ff2596d7658f84938923caa (patch)
treec284a1b3d52c3b37a17591fd6327f2011438653a /intern.h
parent3bc0f22fcea84f09ba347a0575779f935e044c12 (diff)
* configure.in: check functions, fork spawnv.
* io.c (rb_io_s_popen): accept argv not only single command line. * process.c (rb_proc_exec_n): export. * process.c (rb_check_argv): check if arguments are safe to invoke. * process.c (rb_fork): retry to fork. * process.c (rb_spawn): spawn child process asynchronously. * process.c (rb_f_system): raise an exception if the command could not execute. * win32/win32.c (rb_w32_argv_size): count necessary size for joined arguments. * win32/win32.c (rb_w32_join_argv): join arguments with quoting. * win32/win32.c (rb_w32_pipe_exec, rb_w32_spawn, rb_w32_aspawn): accept program name adding to command line. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'intern.h')
-rw-r--r--intern.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/intern.h b/intern.h
index 5a22b8caea..9bfa69b28d 100644
--- a/intern.h
+++ b/intern.h
@@ -12,6 +12,9 @@
**********************************************************************/
+#ifndef RUBY_INTERN_H
+#define RUBY_INTERN_H 1
+
/*
* Functions and variables that are used by more than one source file of
* the kernel.
@@ -335,10 +338,20 @@ VALUE rb_lastline_get _((void));
void rb_lastline_set _((VALUE));
VALUE rb_sym_all_symbols _((void));
/* process.c */
+struct rb_exec_arg {
+ int argc;
+ VALUE *argv;
+ const char *prog;
+};
+int rb_proc_exec_n _((int, VALUE*, const char*));
int rb_proc_exec _((const char*));
+VALUE rb_check_argv _((int, VALUE*));
+int rb_exec _((const struct rb_exec_arg*));
+int rb_fork _((int*, int (*)_((void*)), void*));
VALUE rb_f_exec _((int,VALUE*));
int rb_waitpid _((int,int*,int));
void rb_syswait _((int));
+int rb_spawn _((int, VALUE*));
VALUE rb_proc_times _((VALUE));
VALUE rb_detach_process _((int));
/* range.c */
@@ -486,3 +499,5 @@ VALUE rb_mod_remove_cvar _((VALUE, VALUE));
/* version.c */
void ruby_show_version _((void));
void ruby_show_copyright _((void));
+
+#endif /* RUBY_INTERN_H */