summaryrefslogtreecommitdiffstats
path: root/process.c
Commit message (Collapse)AuthorAgeFilesLines
* * configure.in: Check for the availability of pid_t, gid_t and uid_t andnobu2005-05-141-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | remove AC_TYPE_UID_T. fixed: [ruby-core:04745] * defines.h: Remove pid_t typedef. * ruby.h: Define rb_pid_t, rb_gid_t and rb_uid_t in accordance with the available system types. * process.c: Change instances of pid_t and gid_t to their rb_* counterparts. * ext/pty/pty.c: Change pid_t to rb_pid_t. * vms/config.h: Define HAVE_{P,G,U}ID_T to 1. * win32/Makefile.sub: Remove #define for {g,u}id_t. * win32/win32.c: Change pid_t to rb_pid_t. * wince/Makefile.sub: Remove #define for {g,u}id_t. * wince/sys/types.h: Remove definitions of {p,g,u}id_t. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@8455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * exception error messages updated. [ruby-core:04497]matz2005-02-281-2/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@8035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_s_create): no need for negative argc check.matz2005-02-231-2/+2
| | | | | | | | | | | | | | | [ruby-core:04463] * array.c (rb_ary_unshift_m): ditto. * lib/xmlrpc/parser.rb (XMLRPC::FaultException): make it subclass of StandardError class, not Exception class. [ruby-core:04429] * lib/open3.rb (Open3::popen3): $? should not be EXIT_FAILURE. fixed: [ruby-core:04444] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@8028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (proc_setgroups): check if the argument lenght isnobu2004-12-231-1/+1
| | | | | | | modified. fixed: [ruby-dev:25285] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7642 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (proc_setgroups): [ruby-dev:25081]matz2004-12-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * re.c (rb_reg_eqq): document fix. [ruby-talk:122541] * ext/socket/socket.c (sock_connect): use rb_str_new4(). [ruby-dev:25052] * io.c (io_write): remove rb_str_locktmp(). [ruby-dev:25050] * io.c (io_fwrite): takes VALUE string as an argument. [ruby-dev:25050] * ext/socket/socket.c (sock_connect): remove rb_str_locktmp(). [ruby-dev:25050] * ext/socket/socket.c (udp_connect): [ruby-dev:25045] * ext/socket/socket.c (udp_bind): ditto. * ext/socket/socket.c (udp_send): ditto. * ext/socket/socket.c (bsock_send): ditto. * ext/socket/socket.c (s_recvfrom): ditto. * hash.c (rb_hash_hash): should provide "hash" method where "eql?" is redefined. [ruby-talk:122482] * ext/socket/socket.c (bsock_setsockopt): [ruby-dev:25039] * hash.c (rb_hash_hash): should provide "hash" method where "eql?" is redefined. [ruby-talk:122482] * ext/socket/socket.c (bsock_setsockopt): [ruby-dev:25039] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (proc_getpgrp): prohibit for $SAFE=2.matz2004-11-181-29/+27
| | | | | | | | | | | | | | | | | | | | | | | | [ruby-dev:24899] * process.c (get_pid): ditto. [ruby-dev:24904] * process.c (get_ppid): ditto. * array.c (rb_ary_delete): defer rb_ary_modify() until actual modification. [ruby-dev:24901] * parse.y (newline_node): should not use FL_SET. [ruby-dev:24874] * parse.y (string_content): should not use FL_UNSET. * node.h (NODE_NEWLINE): remove unused bit to utilize flag field in nodes. * string.c (rb_str_splice): move rb_str_modify() after StringValue(), which may alter the receiver. [ruby-dev:24878] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* On NetBSD don't use setruid() and setrgid().naruse2004-11-031-0/+5
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (rb_f_fork): need to flush stdout and stderr beforematz2004-11-021-0/+6
| | | | | | | fork(2). [ruby-talk:117715] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_sum): check was done with false pointer.matz2004-10-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | [ruby-dev:24383] * string.c (rb_str_sum): string may be altered. [ruby-dev:24381] * eval.c (rb_f_eval): defer pointer retrieval to prevent unsafe sourcefile string modification. [ruby-dev:24373] * io.c (io_read): block string buffer modification during rb_io_fread() by freezing it temporarily. [ruby-dev:24366] * io.c (rb_io_s_popen): mode argument may be altered. [ruby-dev:24375] * file.c (rb_file_s_basename): ext argument may be altered. [ruby-dev:24377] * enum.c (enum_sort_by): use NODE instead of 2 element arrays. [ruby-dev:24378] * string.c (rb_str_chomp_bang): StringValue() may change the receiver. [ruby-dev:24371] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typo(?).usa2004-09-221-1/+0
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add documentation to fork()dave2004-09-211-2/+14
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/irb/ruby-lex.rb (RubyLex::identify_string): %s string do notmatz2004-07-221-0/+4
| | | | | | | process expression interpolation. [ruby-talk:106691] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (rb_f_system): not need to call last_status_set() anyusa2004-07-211-3/+1
| | | | | | | longer on _WIN32. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (pst_success_p): new method Process::Status#success?.nobu2004-04-151-0/+1
| | | | | | | [ruby-dev:23385] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (pst_success_p): new method Process::Status#success?.nobu2004-04-151-1/+21
| | | | | | | [ruby-dev:23385] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c, enum.c, eval.c, file.c, io.c, numeric.c, object.c, prec.c,nobu2004-04-141-1/+1
| | | | | | | process.c, re.c, string.c: typos in RDoc comments. [ruby-core:02783] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add HTML formatter to ridave2004-01-111-4/+0
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@5440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c, object.c, process.c, re.c: don't use C++ style comments.eban2004-01-081-3/+3
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@5413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Finish documenting internal stuff. See Changelog for other detailsdave2004-01-021-3/+1004
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@5364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.h: define execv() using do_aspawn().eban2003-12-101-4/+0
| | | | | | | * process.c (proc_exec_v): remove #ifdef's which stopped needing. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@5153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_f_exit), process.c (rb_f_exit_bang): use VALUEs not butnobu2003-11-271-2/+2
| | | | | | | TYPEs. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@5041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_f_exit), process.c (rb_f_exit_bang): treat true asnobu2003-11-271-14/+19
| | | | | | | | | | success, false as failure. [ruby-dev:22067] * eval.c (rb_f_abort, rb_thread_switch), process.c (rb_f_system): use ANSI macro instead of hard coded value. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@5040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (read_all): fptr->f may be NULL, if IO is closed in thematz2003-11-041-96/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | signal handler. * io.c (io_read): ditto. * string.c (get_pat): remove 1.8.0 warning code. * string.c (rb_str_match): extend warning until 1.8.2. * string.c (rb_str_match2): ditto. * class.c (class_instance_method_list): remove 1.8.0 warnings. method_list now recurs. [ruby-dev:21816] * class.c (rb_obj_singleton_methods): ditto. * array.c (rb_ary_select): remove select with block. [ruby-dev:21824] * hash.c (rb_hash_select): ditto. * hash.c (env_select): ditto. * re.c (match_select): ditto. * struct.c (rb_struct_select): ditto. * process.c (check_uid_switch): remove duplicated error messages. * process.c (check_gid_switch): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (rb_f_system): fixed lack of security check beforeusa2003-10-301-0/+1
| | | | | | | calling do_spawn() on win32. [ruby-talk:84555] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (str_new4): should not preserve FL_TAINT status in thematz2003-10-131-1/+8
| | | | | | | | | | | | | | | | | internal shared string. [ruby-dev:21601] * string.c (rb_str_new4): ditto. * eval.c: use EXIT_SUCCESS and EXIT_FAILURE for exit values. * process.c: ditto. [ruby-dev:38521] * lib/debug.rb (debug_command): should enter emacs mode when assigned any value to the environment variable "EMACS". On Meadow, (getenv "EMACS") is "meadow". git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * signal.c (ruby_signal_name): adjust to the prototype.nobu2003-10-011-2/+2
| | | | | | | | | * process.c (pst_inspect): ditto. * ext/etc/etc.c (Init_etc): typo. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (pst_inspect): describe stopped process "stopped".akr2003-09-301-2/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_eval): while/until should not capture break unlessmatz2003-09-301-1/+8
| | | | | | | they are destination of the break. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_thread_atfork): wrong format specifier.matz2003-09-291-1/+43
| | | | | | | | | [ruby-dev:21428] * process.c (pst_inspect): better description. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (p_gid_sw_ensure): return VALUE.eban2003-08-311-2/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (p_gid_sw_ensure): lack of function typenagai2003-08-311-0/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * doc/ChangeLog-1.8.0: add changes of Ruby/Tknagai2003-08-291-11/+177
| | | | | | | | | | | | | | | | | | | | | | * ext/tcltklib/tcltklib.c : some methods have no effect if on slave-IP * ext/tcltklib/tcltklib.c : can create a interpreter without Tk * ext/tcltklib/tcltklib.c : bug fix on handling exceptions * ext/tcltklib/MANUAL.euc : modify * ext/tk/lib/tk.rb : freeze some core modules * ext/tk/lib/multi-tk.rb : more secure * ext/tk/lib/tk.rb: TkVariable.new(array) --> treat the array as the Tk's list * ext/tk/lib/tk.rb: improve accessibility of TkVariable object * ext/tk/lib/tk.rb, ext/tk/lib/tkfont.rb, ext/tk/lib/tkcanvas.rb, ext/tk/lib/tktext.rb : fix bug of font handling * ext/tk/lib/tkfont.rb TkFont.new() accepts compound fonts * process.c: bug fix * process.c: add rb_secure(2) to methods of Process::{UID,GID,Sys} * process.c: deny handling IDs during evaluating the block given to the Process::{UID,GID}.switch method git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * modify macro to detect 'MacOS X' based on [ruby-talk:77849]nagai2003-08-031-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * (bug fix) preprocessor errors occur on OpenBSD-currentnagai2003-08-011-4/+4
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/socket.c (tcp_s_gethostbyname): was usingmatz2003-07-251-1/+2
| | | | | | | | | uninitialized size_t value. [ruby-talk:76946] * Minor cleanups. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gcc -Wall clean-up.matz2003-07-241-2/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c : unify indentationnagai2003-07-231-262/+264
| | | | | | | | | | | | configure.in : add --enable-setreuid option tcltklib.c : TclTkIp.new accepts 'ip-name' and 'options' ( e.g. TclTkIp.new('FOO', '-geometry 500x200 -use 0x2200009') ) tk.rb : support arguments of TclTkIp.new ( see TkCore::IP_NAME, TkCore::IP_OPTS ) tk*.rb : preparations for multi-Tk interpreter support git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c, configure.in :nagai2003-07-231-5/+784
| | | | | | | | * add a module for raw syscalls to control UID/GID * add modules for portable UID/GID control git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/matrix.rb: remove elements conversion to_f, to_i, to_r.matz2003-07-151-3/+3
| | | | | | | | | * lib/cgi/session/pstore.rb: add new file. * process.c (proc_getgroups, proc_setmaxgroups): fix typo. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/irb.rb (IRB::Irb::eval_input): warn and exit if $SAFE >=3matz2003-06-101-0/+3
| | | | | | | | | | | | | | after input evaluation. * lib/irb.rb (IRB::Irb::eval_input): untaint input string. now irb works for levels 1 and 2. * ext/syck/rubyext.c (syck_loader_transfer): should not use rb_cProc directly, since type_proc may be Proc, Block, or Method. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in: checks presence of grp.h and setgroups().nobu2003-06-091-2/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (proc_getgroups, proc_setgroups): raisenobu2003-06-091-0/+12
| | | | | | | NotImplementedError unless available. [ruby-talk:73014] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (value_expr0): class and module statements should not bematz2003-06-071-0/+92
| | | | | | | | | | | | | | | | | warned for "void value expression". [ruby-talk:72989] * gc.c (add_final): should determine type by respond_to? * gc.c (define_final): ditto. * io.c (rb_io_ctl): should not depend on respond_to? * range.c (range_step): rb_check_string_type(). * process.c (proc_setgroups): new functions. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (load_dyna): clear ruby_errinfo. (ruby-bugs-ja PR#409)matz2003-03-201-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | * io.c (read_all): make str empty if given. (ruby-bugs-ja PR#408) * io.c (io_read): ditto. * io.c (rb_io_sysread): ditto. * range.c: do not override min and max. * sprintf.c (remove_sign_bits): octal left most digit for negative numbers may be '3'. (ruby-bugs-ja PR#407) * sprintf.c (rb_f_sprintf): should prefix sign bits if bignum is negative, using sign_bits(). * eval.c (avalue_to_mrhs): split argument passing and assignment conversion. * eval.c (svalue_to_mrhs): ditto. * eval.c (avalue_to_svalue): avalue_to_svalue([[1,2]]) should be [[1,2]], not [1,2] to wrap-around. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (dsym): :"symbol string" style should not contain `\0'.matz2003-03-071-0/+28
| | | | | | | | | | | | | | | | | * process.c (proc_detach): new method Proc#detach(pid) which create background watcher thread to issue waitpid. [new] * process.c (rb_detach_process): utility function to detach process from C code. * ext/pty/pty.c (pty_finalize_syswait): terminate watcher thread, and detach child process (by creating new idle waitpid watcher thread). * ext/pty/pty.c (pty_syswait): may lost signal stopped child. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Updated Copyrights of Matz to 2003.michal2003-01-161-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * hash.c (env_clear): new Hash compatible method.matz2003-01-071-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * hash.c (env_shift): ditto. * hash.c (env_invert): ditto. * hash.c (env_replace): ditto. * hash.c (env_update): ditto. * array.c (rb_ary_join): dispatch based on "to_str". * array.c (rb_ary_times): ditto. * array.c (rb_ary_equal): ditto. * process.c (rb_f_exec): dispatch based on "to_ary". * eval.c (umethod_bind): exact class match is not required. relax the restriction to subclasses. * eval.c (rb_eval): call "inherited" before executing class body. * class.c (rb_define_class): call "inherited" after defining the constant. * class.c (rb_define_class_under): ditto. * eval.c (massign): expand first element if RHS is an array and its size is 1, and LHS has concrete assignment target (i.e. LHS has target(s) other than *var). * eval.c (massign): avoid unnecessary avalue/svalue conversion. * eval.c (rb_yield_0): ditto * array.c (rb_ary_update): do not allocate unused array if rpl is nil (i.e. merely removing elements). * io.c (io_read): should resize supplied string if it's shorter than expected. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (proc_exec_v): follow to proc_spawn_v(). call do_aspawn()usa2003-01-061-13/+19
| | | | | | | | | | | | | on Win32. * process.c (rb_proc_exec): call do_spawn() on Win32. * win32/win32.c, win32/win32.h (do_spawn, do_aspawn): add mode flag. * process.c (proc_spawn_v, rb_f_system): follow above change. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (rb_proc_exec): use same logic as DJGPP on win32 ports.usa2003-01-041-3/+3
| | | | | | | | | | | | | | | * process.c (rb_f_system): ditto. * win32/win32.c, win32/win32.h (do_aspawn): [new]. for arrayed arguments. * win32/win32.c (CreateChild): add new argument for real filename of executing process. * win32/win32.c (NtHasRedirection, pipe_exec): follow above change. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (rb_proc_times): need to initialize first.nobu2003-01-031-8/+5
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e