akr
f20d51b0ad
* process.c (has_privilege): New function.
...
(retry_fork_async_signal_safe): Don't use vfork() for privileged
process.
* configure.in (getresuid): Check function.
(getresgid): Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-04 14:56:03 +00:00
akr
777d61faf4
* process.c (before_fork_ruby): Renamed from before_fork.
...
(after_fork_ruby): Renamed from after_fork.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-03 10:23:24 +00:00
akr
ed0f2528e8
* process.c (forked_child): Removed.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-03 09:56:38 +00:00
akr
9b16f90692
* process.c (retry_fork_async_signal_safe): Use vfork() if available.
...
vfork() is still faster than fork() especially when the parent
process uses big memory.
ruby -rbenchmark -e 'a = "a" * 1_000_000_000; puts Benchmark.measure { system("true") }'
fork: 0.000000 0.010000 0.010000 ( 0.014968)
vfork: 0.000000 0.000000 0.000000 ( 0.000912)
on Debian sid.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-03 03:06:17 +00:00
akr
93a7bf4b17
* configure.in: Use AC_FUNC_FORK.
...
* io.c: Use HAVE_WORKING_FORK instead of HAVE_FORK.
* process.c: Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-02 22:51:03 +00:00
akr
34af76e318
* process.c (retry_fork_async_signal_safe): Don't return on in child
...
process.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-02 15:13:36 +00:00
akr
93621161d6
* process.c (retry_fork_async_signal_safe): Specialized version of
...
retry_fork respect to rb_fork_async_signal_safe.
(retry_fork_ruby): Specialized version of retry_fork respect to
rb_fork_ruby.
(rb_fork_ruby): Removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-02 14:47:46 +00:00
akr
de88408813
* process.c (send_child_error): Simplified.
...
(recv_child_error): Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-02 14:27:10 +00:00
akr
a78a9b0d17
* process.c (rb_fork_async_signal_safe): Inline rb_fork_internal.
...
(rb_fork_ruby): Ditto.
(rb_fork_internal): Removed.
(chfunc_protect): Removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-02 13:56:35 +00:00
akr
557802a1da
* process.c (handle_fork_error): Extracted from retry_fork.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-02 11:47:35 +00:00
nobu
e5a7c2db98
get rid of function calls in RSTRING_PTR
...
* process.c (rlimit_resource_type, rlimit_resource_value): get rid
of function calls in RSTRING_PTR(), as it evaluates the argument
twice.
* re.c (match_backref_number): ditto.
* signal.c (esignal_init, rb_f_kill, trap_signm): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-30 13:46:41 +00:00
ktsj
3b895e8355
* process.c (rlimit_resource_type, rlimit_resource_value):
...
get rid of inadvertent dynamic symbol pin-down.
* re.c (match_backref_number): ditto.
* signal.c (esignal_init, rb_f_kill, trap_signm): ditto.
* transcode.c (econv_opts): ditto.
* vm_trace.c (symbol2event_flag): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-30 13:17:45 +00:00
nobu
e99ee55abc
constify parameters
...
* include/ruby/intern.h: constify `argv` parameters.
* include/ruby/ruby.h: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-18 06:16:39 +00:00
nobu
fd444f90b5
process.c: use UTF-8
...
* process.c (open): use UTF-8 version function to support
non-ascii path properly. [ruby-core:63185] [Bug #9946 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-16 05:35:59 +00:00
nobu
d327c8da66
process.c: variable as macro argument
...
* process.c (run_exec_open): use a local variable to get rid of
RARRAY_AREF() is evaluated multiple times by RSTRING_PTR().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-16 05:28:03 +00:00
nobu
efc70c74c2
process.c: use RB_TYPE_P
...
* process.c (check_exec_redirect): use RB_TYPE_P instead of single
comparison of TYPE().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-15 01:09:17 +00:00
normal
d450229a27
process.c (proc_getgroups, proc_setgroups): use ALLOCV_N
...
* process.c (proc_getgroups, proc_setgroups): use ALLOCV_N
[Bug #9856 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-24 07:22:54 +00:00
nobu
55d4afc77e
process.c: use ruby_stop
...
* process.c (rb_exit): call ruby_stop() which calls ruby_cleanup(),
instead of calling ruby_finalize() directly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-10 04:41:02 +00:00
akr
058b5bce60
[DOC]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-09 13:57:04 +00:00
akr
7a69a3583c
* process.c (check_exec_redirect): Open the file in write mode for
...
redirect from [:out, :err].
Proposed and implemented by Yusuke Endoh.
[ruby-dev:41430] [Feature #3348 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-05 13:37:09 +00:00
akr
1388beb195
[DOC]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-02 13:35:47 +00:00
akr
960c8ab125
* process.c (OBJ2UID1): Defined even if getpwnam_r is not usable.
...
(OBJ2GID1): Defined even if getgrnam_r is not usable.
This fixes compilation error on Android.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-09 12:05:14 +00:00
nobu
c0dee604fe
process.c: preserve encodings
...
* process.c (rlimit_resource_type, rlimit_resource_value):
preserve argument encoding in error messages.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-30 21:00:53 +00:00
nobu
d64ba37ad0
process.c: constify
...
* process.c (rb_execarg_new, rb_execarg_init): constify argv.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-17 08:21:47 +00:00
nobu
119d66232d
process.c: expand buffer on ERANGE
...
* process.c (obj2uid, obj2gid): now getpwnam_r() and getgrnam_r()
may need larger buffers than sysconf values, so retry with
expanding the buffer when ERANGE is returned.
[ruby-core:61325] [Bug #9600 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-08 04:30:56 +00:00
nobu
3df8fbf248
process.c: need capacity
...
* process.c (obj2uid, obj2gid): need capacity as buffer size, not
length.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-08 04:30:30 +00:00
nobu
9e33b72ad1
process.c: GETPW_R_SIZE_INIT, GETGR_R_SIZE_INIT
...
* process.c (GETPW_R_SIZE_INIT, GETGR_R_SIZE_INIT): sysconf values
are not maximum sizes, but initial sizes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45288 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-08 04:08:46 +00:00
nobu
b1fb57da3d
process.c: tmp buffer instead of alloca
...
* process.c (OBJ2UID1, OBJ2GID1): separate from OBJ2UID and
OBJ2GID respectively, need given buffers.
* process.c (OBJ2UID, OBJ2GID): no longer need PREPARE_GETPWNAM
and PREPARE_GETGRNAM.
* process.c (obj2uid, obj2gid): use tmp buffer instead of alloca
to get rid of potential stack overflow.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-08 03:55:01 +00:00
hsbt
511c2a1647
* process.c: [DOC] typo fix by @jkassemi [fix GH-544][ci skip]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-23 02:25:59 +00:00
akr
6f8b0e9bb0
* include/ruby/intern.h,
...
include/ruby/io.h,
include/ruby/ruby.h,
include/ruby/win32.h,
include/ruby/backward/rubysig.h,
bignum.c,
gc.c,
io.c,
process.c,
safe.c,
struct.c,
thread.c,
ext/socket/rubysocket.h,
ext/-test-/old_thread_select: Remove deprecated definitions
[ruby-core:60581] [Feature #9502 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-14 15:16:31 +00:00
akr
fbf4850cab
* process.c (READ_FROM_CHILD): Apply the last hunk of
...
0001-process.c-avoid-EINTR-from-Process.spawn.patch written by
Eric Wong in [Bug #8770 ].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-28 11:54:36 +00:00
nobu
7336d8c899
process.c: avoid EINTR from Process.spawn
...
* process.c (send_child_error): retry write on EINTR to fix
occasional Errno::EINTR from Process.spawn.
* process.c (recv_child_error): retry read on EINTR to fix
occasional Errno::EINTR from Process.spawn.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-25 05:50:44 +00:00
charliesome
0a881f81b1
* process.c (recv_child_error): Fix deadlock in rb_fork_internal when a
...
signal is sent to the parent process while Ruby is forking in IO.popen.
Patch by Scott Francis. Closes GH-513.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-23 05:07:48 +00:00
ko1
c702005a7b
* include/ruby/ruby.h: rename OBJ_WRITE and OBJ_WRITTEN into
...
RB_OBJ_WRITE and RB_OBJ_WRITTEN.
* array.c, class.c, compile.c, hash.c, internal.h, iseq.c,
proc.c, process.c, re.c, string.c, variable.c, vm.c,
vm_eval.c, vm_insnhelper.c, vm_insnhelper.h,
vm_method.c: catch up this change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-20 08:07:47 +00:00
naruse
2a732947a6
* process.c (make_clock_result): add :second as a unit for
...
Process.clock_gettime.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-16 05:04:03 +00:00
charliesome
e0290c9404
* array.c (rb_ary_or): use RHASH_TBL_RAW instead of RHASH_TBL
...
* process.c (rb_execarg_fixup): use RHASH_TBL_RAW and insert write
barriers where appropriate
* vm.c (kwmerge_i): use RHASH_TBL_RAW
* vm.c (HASH_ASET): use rb_hash_aset instead of calling directly into
st_insert
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 00:41:01 +00:00
nobu
7566c49068
ruby/ruby.h: RB_BLOCK_CALL_FUNC_ARGLIST
...
* include/ruby/ruby.h (RB_BLOCK_CALL_FUNC_ARGLIST): for declaration
argument list of rb_block_call_func.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-29 07:59:14 +00:00
nobu
9f45081627
ruby/ruby.h: add blockarg to rb_block_call_func
...
* include/ruby/ruby.h (rb_block_call_func): add blockarg. block
function can take block argument, e.g., proc {|&blockarg| ...}.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-29 02:26:48 +00:00
nobu
21f81885ab
win32.c: rb_w32_dup2
...
* win32/win32.c (rb_w32_dup2): extract from rb_cloexec_dup2() and
redirect_dup2().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-28 07:15:56 +00:00
ko1
c5e08b764e
* add RUBY_TYPED_FREE_IMMEDIATELY to data types which only use
...
safe functions during garbage collection such as xfree().
On default, T_DATA objects are freed at same points as fianlizers.
This approach protects issues such as reported by [ruby-dev:35578].
However, freeing T_DATA objects immediately helps heap usage.
Most of T_DATA (in other words, most of dfree functions) are safe.
However, we turned off RUBY_TYPED_FREE_IMMEDIATELY by default
for safety.
* cont.c: ditto.
* dir.c: ditto.
* encoding.c: ditto.
* enumerator.c: ditto.
* error.c: ditto.
* file.c: ditto.
* gc.c: ditto.
* io.c: ditto.
* iseq.c: ditto.
* marshal.c: ditto.
* parse.y: ditto.
* proc.c: ditto.
* process.c: ditto.
* random.c: ditto.
* thread.c: ditto.
* time.c: ditto.
* transcode.c: ditto.
* variable.c: ditto.
* vm.c: ditto.
* vm_backtrace.c: ditto.
* vm_trace.c: ditto.
* ext/bigdecimal/bigdecimal.c: ditto.
* ext/objspace/objspace.c: ditto.
* ext/stringio/stringio.c: ditto.
* ext/strscan/strscan.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-29 11:16:54 +00:00
nobu
d956453a98
process.c: Process::Tms
...
* process.c (Init_process): rename Struct::Tms as Process::Tms. keep
the former defined for the backward compatibility, for the time
being.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-27 01:38:20 +00:00
akr
c2bbe4b01e
* process.c: Fix a typo. MacOS X don't have ENOTSUPP.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-15 08:48:33 +00:00
nobu
ddef263a89
process.c: remove cloexec setting
...
* process.c (rb_fork_internal): remove cloexec setting on pipes
created by rb_cloexec_pipe. patch by normalperson (Eric Wong) at
[ruby-core:56523]. [Bug #8769 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-21 11:11:10 +00:00
akr
888e5cbbe7
* process.c: Remove spaces between SI prefix and unit to follow
...
SI brochure.
http://www.bipm.org/en/si/si_brochure/
https://www.nmij.jp/library/units/si/
* time.c: Ditto.
* ext/socket/ancdata.c: Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-09 12:33:36 +00:00
akr
bc3d736f43
* process.c (rb_clock_gettime): Support times() based monotonic clock.
...
(rb_clock_getres): Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-03 03:10:41 +00:00
akr
8a108ffc21
* process.c (get_mach_timebase_info): Extracted from rb_clock_gettime.
...
(rb_clock_gettime): Use get_mach_timebase_info.
(rb_clock_getres): Support MACH_ABSOLUTE_TIME_BASED_CLOCK_MONOTONIC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-01 15:09:06 +00:00
nobu
cec97f40f6
process.c: suppress warning
...
* process.c (rb_clock_getres): move conditionally used variable to the
proper block.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-01 09:04:10 +00:00
akr
23da5a785e
* process.c (rb_clock_getres): New method.
...
(timetick2dblnum_reciprocal): New function.
* configure.in: Check clock_getres.
[ruby-core:56780] [Feature #8809 ] accepted at
DevelopersMeeting20130831Japan
https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20130831Japan
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-31 13:21:48 +00:00
kazu
ae5ac37f2d
fix typo
...
* process.c (gcd_timetick_int): Renamed from gcd_timtick_int.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-26 01:39:19 +00:00
akr
cd9f60dfa5
[DOC]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-24 02:19:41 +00:00
akr
8eb27cb16f
[DOC]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-24 02:01:07 +00:00
akr
811eaddf4c
* process.c (rb_clock_gettime): The emulated clock names changed.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-24 01:38:34 +00:00
akr
a0cac92b34
* process.c (rb_clock_gettime): Add a cast to fix compile error by
...
-Werror,-Wshorten-64-to-32.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-23 13:25:12 +00:00
nobu
703bd17594
process.c: no symbol cache
...
* process.c (rb_intern): no symbol cache while initialization.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-23 13:12:46 +00:00
akr
ca0b5118a5
* process.c (reduce_factors): New function.
...
(timetick2dblnum): Use reduce_factors.
(timetick2integer): Ditto.
(make_clock_result): Follow the above change.
(rb_clock_gettime): Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-23 12:46:06 +00:00
akr
f0bf7f7518
* process.c (timetick_int_t): Renamed from timetick_giga_count_t.
...
(gcd_timtick_int): Renamed from gcd_ul and make the arguments
timetick_giga_count_t.
(reduce_fraction): Make the arguments timetick_int_t.
(timetick2integer): Ditto.
(make_clock_result): Ditto.
(timetick2dblnum): Fix the return type.
(rb_clock_gettime): Use timetick_int_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-23 12:06:02 +00:00
akr
bf9ce0429f
Fix the previous commit.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-23 11:53:12 +00:00
akr
49b9f61fdb
* process.c (gcd_ul): New function.
...
(reduce_fraction): Ditto.
(reduce_fraction): Ditto.
(timetick2dblnum): Ditto.
(timetick2integer): Ditto.
(make_clock_result): Use timetick2dblnum and timetick2integer.
(rb_clock_gettime): Follow the make_clock_result change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-23 10:44:33 +00:00
nobu
fb8b2689db
process.c: suppress warnings
...
* process.c (rb_clock_gettime): cast for tv_nsec explicitly to
suppress warnings by VC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-23 02:17:25 +00:00
akr
a641003f66
* process.c (rb_clock_gettime): Strip "s" from unit names.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-22 13:04:06 +00:00
akr
3873e09cad
* process.c (unsigned_clock_t): Defined.
...
(rb_clock_gettime): Consider clock_t overflow for
ISO_C_CLOCK_BASED_CLOCK_PROCESS_CPUTIME_ID.
* configure.in: Check the size of clock_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-22 11:19:49 +00:00
akr
9438bc0c86
Exchange order of ISO_C_CLOCK_BASED_CLOCK_PROCESS_CPUTIME_ID and
...
POSIX_TIMES_BASED_CLOCK_PROCESS_CPUTIME_ID.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-21 22:17:55 +00:00
akr
cda87d9e00
* process.c (rb_clock_gettime): Change emulation symbols for
...
Process.clock_gettime.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-21 21:57:25 +00:00
akr
47ae41ce34
* process.c (make_clock_result): Extracted from rb_clock_gettime.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-21 21:27:44 +00:00
akr
4c661094c9
* process.c (rb_clock_gettime): clock() based CLOCK_PROCESS_CPUTIME_ID
...
emulation implemented.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-21 13:33:59 +00:00
akr
31a092c687
* process.c (rb_proc_times): Use RB_GC_GUARD to guard objects from GC.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-21 12:05:29 +00:00
akr
4b033d2692
* process.c (get_clk_tck): Extracted from rb_proc_times.
...
(rb_clock_gettime): times() based CLOCK_PROCESS_CPUTIME_ID emulation
is implemented.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42642 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-21 11:36:43 +00:00
akr
a24930bf08
* process.c: POSIX_GETTIMEOFDAY_CLOCK_REALTIME is renamed to
...
SUS_GETTIMEOFDAY_CLOCK_REALTIME.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-21 10:31:59 +00:00
akr
167419848f
* process.c (rb_clock_gettime): CLOCK_PROCESS_CPUTIME_ID emulation
...
using getrusage is implemented.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-21 10:18:37 +00:00
nobu
7f9f6c3122
process.c: retry fork if ENOMEM
...
* process.c (retry_fork): retry with GC if ENOMEM occurred, to free
swap/kernel space.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-19 08:01:26 +00:00
akr
0a0c96308f
* process.c (Init_process): Add constants: CLOCK_REALTIME_ALARM and
...
CLOCK_BOOTTIME_ALARM.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-19 03:57:23 +00:00
akr
408b8110d5
* process.c (rb_clock_gettime): Rename POSIX_TIME_CLOCK_REALTIME to
...
ISO_C_TIME_CLOCK_REALTIME.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-18 05:34:13 +00:00
akr
2a47ee5e78
* process.c (Init_process): Add constants: CLOCK_REALTIME_COARSE,
...
CLOCK_MONOTONIC_COARSE and CLOCK_BOOTTIME.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-18 04:21:33 +00:00
akr
61313ade46
[DOC]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-17 11:23:16 +00:00
eregon
ce34fce82b
* process.c: [DOC] MACH_ABSOLUTE_TIME_CLOCK_MONOTONIC is an
...
available emulation for a monotonic clock on Darwin.
https://developer.apple.com/library/mac/qa/qa1398/_index.html
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-17 11:13:01 +00:00
eregon
2a0482b4d4
* process.c: revert r42591. Only an emulation is available on Darwin.
...
[ruby-core:56672]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-17 08:24:41 +00:00
eregon
1a5b74a252
* process.c (rb_clock_gettime): document CLOCK_REALTIME and
...
CLOCK_MONOTONIC are now available on Darwin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-16 16:55:13 +00:00
nobu
d51138ddad
process.c: downcast
...
* process.c (rb_clock_gettime): downcast for I32 environment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-16 08:15:09 +00:00
naruse
b26f8003c3
* process.c (rb_clock_gettime): add CLOCK_MONOTONIC support on OS X.
...
http://developer.apple.com/library/mac/qa/qa1398/_index.html
[Feature #8658 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-15 17:18:45 +00:00
akr
1c9df374f3
* process.c (rb_clock_gettime): [DOC] FreeBSD 7.1 supports
...
CLOCK_THREAD_CPUTIME_ID.
http://www.freebsd.org/releases/7.1R/relnotes.html
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-15 06:50:37 +00:00
zzak
7f0a26e271
* process.c: [DOC] RDoc formatting of Process.clock_gettime
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-12 04:48:28 +00:00
akr
cef46a5e72
[DOC] update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-11 03:43:04 +00:00
akr
93bb48995c
* process.c (rb_clock_gettime): New method.
...
This is accepted in the meeting:
https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20130809
This method is accepted as a CRuby feature.
I.e. Other Ruby implementations don't need to implement it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-11 02:59:30 +00:00
zzak
0bd6f36aa7
* process.c: [DOC] Document caveats of command form of Process.spawn
...
with regard to the shell and OS. Patched by Steve Klabnik [Bug #8550 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-05 16:42:37 +00:00
naruse
300b7c80e4
* process.c (rb_daemon): daemon(3) is implemented with fork(2).
...
Therefore it needs rb_thread_atfork(). (and revert r41903)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-11 01:13:10 +00:00
nobu
863d148a4e
process.c: kill threads in daemon process
...
* process.c (fork_daemon): kill the other threads all and abandon the
kept mutexes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-10 05:19:01 +00:00
nobu
5956967a99
process.c: remove ineffective assignment
...
* process.c (rb_exec_fillarg): remove ineffective assignment unless
default process encoding is set.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 14:16:26 +00:00
nobu
637d668bca
win32: UTF-8 spawn
...
* io.c (spawnv, spawn): use UTF-8 spawn family. [Bug #1771 ]
* process.c (proc_exec_sh, proc_spawn_cmd, proc_spawn_sh): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 01:59:21 +00:00
nobu
69bbcbe4c1
process.c: default process encoding
...
* process.c (EXPORT_STR, EXPORT_DUP): convert to default process
encoding if defined.
* process.c (check_exec_env_i): convert environment variables too.
* process.c (rb_exec_fillarg): convert program path and arguments too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 01:57:18 +00:00
nobu
3e9c0bfaeb
process.c: adjust indent
...
* process.c (exec_arg_data_type): adjust indent.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 01:57:16 +00:00
shugo
1f828497d1
* safe.c (rb_set_safe_level, safe_setter): raise an ArgumentError
...
when $SAFE is set to 4. $SAFE=4 is now obsolete.
[ruby-core:55222] [Feature #8468 ]
* object.c (rb_obj_untrusted, rb_obj_untrust, rb_obj_trust):
Kernel#untrusted?, untrust, and trust are now deprecated.
Their behavior is same as tainted?, taint, and untaint,
respectively.
* include/ruby/ruby.h (OBJ_UNTRUSTED, OBJ_UNTRUST): OBJ_UNTRUSTED()
and OBJ_UNTRUST() are aliases of OBJ_TAINTED() and OBJ_TAINT(),
respectively.
* array.c, class.c, debug.c, dir.c, encoding.c, error.c, eval.c,
ext/curses/curses.c, ext/dbm/dbm.c, ext/dl/cfunc.c,
ext/dl/cptr.c, ext/dl/dl.c, ext/etc/etc.c, ext/fiddle/fiddle.c,
ext/fiddle/pointer.c, ext/gdbm/gdbm.c, ext/readline/readline.c,
ext/sdbm/init.c, ext/socket/ancdata.c, ext/socket/basicsocket.c,
ext/socket/socket.c, ext/socket/udpsocket.c,
ext/stringio/stringio.c, ext/syslog/syslog.c, ext/tk/tcltklib.c,
ext/win32ole/win32ole.c, file.c, gc.c, hash.c, io.c, iseq.c,
load.c, marshal.c, object.c, proc.c, process.c, random.c, re.c,
safe.c, string.c, thread.c, transcode.c, variable.c,
vm_insnhelper.c, vm_method.c, vm_trace.c: remove code for
$SAFE=4.
* test/dl/test_dl2.rb, test/erb/test_erb.rb,
test/readline/test_readline.rb,
test/readline/test_readline_history.rb, test/ruby/test_alias.rb,
test/ruby/test_array.rb, test/ruby/test_dir.rb,
test/ruby/test_encoding.rb, test/ruby/test_env.rb,
test/ruby/test_eval.rb, test/ruby/test_exception.rb,
test/ruby/test_file_exhaustive.rb, test/ruby/test_hash.rb,
test/ruby/test_io.rb, test/ruby/test_method.rb,
test/ruby/test_module.rb, test/ruby/test_object.rb,
test/ruby/test_pack.rb, test/ruby/test_rand.rb,
test/ruby/test_regexp.rb, test/ruby/test_settracefunc.rb,
test/ruby/test_struct.rb, test/ruby/test_thread.rb,
test/ruby/test_time.rb: remove tests for $SAFE=4.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-12 14:20:51 +00:00
akr
bd15d4ca78
* internal.h (numberof): Gathered from various files.
...
* array.c, math.c, thread_pthread.c, iseq.c, enum.c, string.c, io.c,
load.c, compile.c, struct.c, eval.c, gc.c, parse.y, process.c,
error.c, ruby.c: Remove the definitions of numberof.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-07 10:01:19 +00:00
nobu
5c11384416
adjust style
...
* process.c (rb_execarg_get): adjust style.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-04 08:23:26 +00:00
naruse
94b120fe75
add some rdoc
...
* add reference to spawn to fork
* add an example which runs ruby
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-03 02:37:34 +00:00
nobu
6db56c86c9
fill rdocs
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-02 03:12:04 +00:00
zzak
1d80ad6a39
* process.c: Improve Process::exec documentation
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-31 08:58:06 +00:00
zzak
89a452c7c1
* process.c: RDoc on Process.spawn
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-30 08:55:41 +00:00
akr
184bfbba7f
Update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-30 03:57:46 +00:00
ko1
c4c821a7d7
* hash.c (rb_hash_tbl_raw), internal.h: added.
...
Returns st_table without shading hash.
* array.c: use rb_hash_tbl_raw() for read-only purpose.
* compile.c (iseq_compile_each): ditto.
* gc.c (count_objects): ditto.
* insns.def: ditto.
* process.c: ditto.
* thread.c (clear_coverage): ditto.
* vm_insnhelper.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-26 16:19:04 +00:00
kazu
c54733e120
fix typos inspired by r40825
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-19 14:50:47 +00:00