--
* configure.in (ac_cv_func_daemon): use daemon(3) only on *BSD.
* process.c (proc_daemon): double fork to ensure not having ctty.
[ruby-core:23311]
--
* configure.in (ac_cv_func_daemon): use daemon(3) only on *BSD.
* process.c (proc_daemon): double fork to ensure not having ctty.
[ruby-core:23305]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@23343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
--
* process.c (rb_waitpid): use wait_each() on no waitpid platforms.
[ruby-dev:38054]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@22752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
--
* process.c (rb_waitpid): last argument was missing.
* process.c (waitall_each): fixed typo. a patch from shinichiro.h
<shinichiro.hamaji AT gmail.com> at [ruby-dev:38054].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@22734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c (before_exec): it makes no sense for a conditional
expression to return a void value.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c (after_exec): needs to reset before restart timer
thread.
* thread.c (thread_start_func_2): stops timer thread if forked in
the new thread. [ruby-core:19385]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c (after_fork): ignores a termination request in the
parent process. [ruby-dev:37447]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c (forked_child): new variable.
(before_exec): don't call rb_thread_stop_timer_thread if
forked_child.
(after_exec): reset forked_child after rb_thread_start_timer_thread.
(rb_fork): set forked_child just after fork in child.
* ext/pty/pty.c (chfunc): extracted from establishShell.
(establishShell): use rb_fork.
[ruby-dev:37418]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c (get_ppid): mention the return value on Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
a patch from Tadashi Saito <shiba at mail2.accsnet.ne.jp>
in [ruby-dev:36102].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
rb_io_mode_flags.
(rb_io_modestr_oflags): renamed from rb_io_mode_modenum.
(rb_io_oflags_fmode): renamed from rb_io_modenum_flags.
(rb_io_mode_flags): defined as a macro.
(rb_io_modenum_flags): ditto.
* io.c: follow the renaming with consistency.
* process.c (check_exec_redirect): call rb_io_modestr_oflags.
* ext/pty/depend: pty.o depends on io.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
RUBY_UBF_IO and RUBY_UBF_PROCESS.
Because there is no default (universal) unblocking function.
* ext/socket/socket.c, file.c, io.c, process.c, thread.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Process::Status.allocate.pid.
(pst_inspect): don't raise if self is not initialized.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
string.c (rb_str_replace), transcode.c (transcode_dispatch): fixed
memory leaks. based on patches from shinichiro.h <shinichiro.hamaji
AT gmail.com> at [ruby-dev:35751].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
getppid() on win32 (but only Win2k or later).
* process.c (get_ppid): remove win32 special logic.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
because there is no path to set it on win32. this patch is derived
from [ruby-core:16787], submitted by Luis Lavena <luislavena at
gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c (save_redirect_fd, save_env_i, save_env, run_exec_dup2,
run_exec_open, run_exec_pgroup, run_exec_rlimit, rb_run_exec_options):
save parent's process environments.
!!!remark!!! these are not thread-safe.
* process.c (rb_spawn_internal): remove calling run_exec_options()
because cannot restore after spawn. we'll fix this later.
* io.c (pipe_open): ditto.
* test/ruby/test_process.rb (test_execopts_env): upcase environment
variable name for case insensitive platforms.
* win32/win32.c (init_env): set USER environment variable only when
USERNAME is available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
thread_cleanup_func not to touch pthread data.
pthread_cond_destroy in forked process may cause deadlock on
Debian GNU/Linux Etch on x86, x86-64 and IA64.
this doesn't cause resource leak because the process will exec soon.
(terminate_atfork_before_exec_i): defined.
(rb_thread_atfork_before_exec): defined.
* include/ruby/intern.h (rb_thread_atfork_before_exec): declared.
* process.c (rb_exec_atfork): call rb_thread_atfork_before_exec
instead of rb_thread_atfork.
* io.c (popen_exec): call rb_thread_atfork_before_exec instead of
rb_thread_atfork.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
(check_exec_fds): record maxhint even if close_others is not
specified.
(rb_exec_arg_fixup): renamed from rb_exec_arg_fix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
close_exec on having no fork environment (but still meaningless).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e