1#ifndef INTERNAL_PROCESS_H
2#define INTERNAL_PROCESS_H
15#ifdef HAVE_SYS_TYPES_H
16# include <sys/types.h>
27#define RB_MAX_GROUPS (65536)
58 unsigned exception : 1;
79static inline char **ARGVSTR2ARGV(
VALUE argv_str);
80static inline size_t ARGVSTR2ARGC(
VALUE argv_str);
83VALUE rb_getlogin(
void);
85VALUE rb_getpwdiruid(
void);
88RUBY_SYMBOL_EXPORT_BEGIN
100RUBY_SYMBOL_EXPORT_END
117 char *
const *p = ARGVSTR2ARGV(
argv_str);
123#ifdef HAVE_WORKING_FORK
125#if __has_warning("-Wdeprecated-declarations") || RBIMPL_COMPILER_IS(GCC)
128static inline rb_pid_t
IMEMO: Internal memo object.
Thin wrapper to ruby/config.h.
struct rb_execarg * rb_execarg_get(VALUE execarg_obj)
void rb_execarg_parent_end(VALUE execarg_obj)
rb_pid_t rb_fork_ruby(int *status)
void rb_last_status_clear(void)
void rb_execarg_setenv(VALUE execarg_obj, VALUE env)
VALUE rb_execarg_extract_options(VALUE execarg_obj, VALUE opthash)
int rb_exec_async_signal_safe(const struct rb_execarg *e, char *errmsg, size_t errmsg_buflen)
VALUE rb_execarg_new(int argc, const VALUE *argv, int accept_shell, int allow_exc_opt)
void rb_execarg_parent_start(VALUE execarg_obj)
int rb_execarg_addopt(VALUE execarg_obj, VALUE key, VALUE val)
int rb_execarg_run_options(const struct rb_execarg *e, struct rb_execarg *s, 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)
struct rb_execarg::@113::@114 sh
unsigned unsetenv_others_given
unsigned new_pgroup_given
struct waitpid_state * waitpid_state
struct rb_execarg::@113::@115 cmd
unsigned unsetenv_others_do
unsigned close_others_given
union rb_execarg::@113 invoke
Internal header to suppres / mandate warnings.
#define COMPILER_WARNING_PUSH
#define COMPILER_WARNING_POP
#define COMPILER_WARNING_IGNORED(flag)