aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* * thread.c (thread_cleanup_func_before_exec): extracted fromakr2008-05-115-3/+55
| | | | | | | | | | | | | | | | | | | | | 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
* add tests of UnboundMethod#{name,owner}kazu2008-05-112-1/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (gc_count): rdoc corrected.yugui2008-05-101-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (tr_trans): should not turn on modify flag if nomatz2008-05-102-1/+3
| | | | | | modification happens. [ruby-dev:34631] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (tr_trans): should check src size, not str size.matz2008-05-103-4/+7
| | | | | | [ruby-dev:34637] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (tr_trans): single '^' does not mean negation.matz2008-05-102-1/+8
| | | | | | [ruby-dev:34632] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_each_line): zero length record separator shouldmatz2008-05-103-6/+17
| | | | | | | | split a string into paragraphs. [ruby-dev:34586] * string.c (rb_str_each_line): RDoc updated. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c (env_mark): mark env->block.self. prevent SEGV when GC occurakr2008-05-102-0/+7
| | | | | | | | in prepare_iseq_build with gcc version 3.4.6 [FreeBSD] 20060305 on FreeBSD/amd64. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ChangeLog: address mangling.matz2008-05-091-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (timeofday): use monotonic clock. based on a patchmatz2008-05-092-3/+17
| | | | | | from zimbatm <zimbatm@oree.ch> in [ruby-core:16627]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * cont.c (cont_restore_0): dynamic stack direction code should bematz2008-05-082-1/+6
| | | | | | consistent with static one. [ruby-talk:301152] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * parse.y (arg): operator assignment "a += b rescue c" should bematz2008-05-084-6/+45
| | | | | | | parsed as "a += (b rescue c)" just like normal assignment. [ruby-talk:301000] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (rb_big_and): bit-wise operation should not take floatmatz2008-05-082-3/+24
| | | | | | | | | | values. [ruby-dev:34612] * bignum.c (rb_big_or): ditto. * bignum.c (rb_big_xor): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * common.mk, ext/extmk.rb, lib/mkmf.rb: use absolute path for RUBYOPT.nobu2008-05-084-5/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * common.mk, ext/extmk.rb, lib/mkmf.rb: removed RUBYOPT.nobu2008-05-084-5/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * file.c (rb_find_file_ext): guard load_path from GC.akr2008-05-082-0/+8
| | | | | | | | | gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) optimizes load_path by holding only RARRAY_LEN(load_path) and RARRAY_PTR(load_path) in registers on IA64 GNU/Linux Etch. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in (MINIRUBY), common.mk (RUBYOPT): add purelib.rb.nobu2008-05-086-3/+17
| | | | | | | [ruby-core:16642] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ChangeLog: add an entry and ML ref.matz2008-05-081-0/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_continuation.rb: remove duplicated test.matz2008-05-082-18/+10
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (rb_gc_save_machine_context): call FLUSH_REGISTER_WINDOWSakr2008-05-083-0/+18
| | | | | | | to mark the register stack from GC on another thread. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval_intern.h (enum ruby_tag_type): enum for debug.nobu2008-05-082-9/+22
| | | | | | | * debug.c (dummy_gdb_enums.value_type): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_sort_bang): freeze temporary array.nobu2008-05-082-0/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c (rb_thread_mark): mark stat_insn_usage only when ptr is notnobu2008-05-082-1/+6
| | | | | | | null. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16325 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c: typo fixed; sorry!matz2008-05-081-4/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (sort_reentered): reentered check may be called frommatz2008-05-082-2/+7
| | | | | | Array#sort. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_array.rb (test_sort_with_callcc): test for [ruby-core:16679].nobu2008-05-081-0/+19
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (sort_1, sort_2): check for reentered and if elements arenobu2008-05-082-5/+10
| | | | | | | accessible. [ruby-core:16679] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (sort_1, sort_2): check reentered. [ruby-core:16679]nobu2008-05-072-2/+16
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c (dln_find_exe_r, dln_find_file_r): reentrant versions.nobu2008-05-076-19/+56
| | | | | | | | | * file.c (rb_find_file_ext, rb_find_file), process.c (proc_exec_v), (rb_proc_exec, proc_spawn_v, proc_spawn), ruby.c (process_options): use reentrant versions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (rb_thread_key_p): thread local storage stores ID.nobu2008-05-073-5/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (tr_trans): should squeeze properly. [ruby-dev:34587]matz2008-05-074-44/+71
| | | | | | | | | | | | | * string.c (tr_trans): had a bug in treating multi-byte character replacement. * string.c (rb_str_delete_bang): need not to do anything for empty strings. * test/ruby/test_m17n_comb.rb (TestM17NComb::test_str_delete): add test for empty receiver. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * numeric.c (bit_coerce): float should not be a valid operand ofmatz2008-05-073-8/+17
| | | | | | bitwise operations. [ruby-dev:34583] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (rb_thread_key_p): should always convert symbol to ID.matz2008-05-072-2/+9
| | | | | | [ruby-dev:34588] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * numeric.c (fix_divide): float division should floor() beforematz2008-05-072-1/+6
| | | | | | rounding into integer. [ruby-dev:34584] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ruby.c (process_options, ruby_set_argv): set encoding of rb_argvusa2008-05-072-5/+13
| | | | | | | | | after Init_prelude() because cannot load encoding extensions before it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (sym_to_i): remove obsolete method. preparation formatz2008-05-073-56/+9
| | | | | | | | | | symbol GC. * numeric.c (fix_to_sym): ditto. * numeric.c (fix_id2name): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_puts_ary): check recursion first. [ruby-dev:34580]nobu2008-05-072-3/+9
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c (vm_eval_body): initialize retval. [ruby-dev:34576]nobu2008-05-072-2/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (rp): removed RUBY_T_BLOCK.nobu2008-05-071-5/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (rb_big_fdiv): flo.fdiv(NaN) should result NaN.matz2008-05-076-59/+44
| | | | | | | | | | | | | | * numeric.c (num_quo): renamed and moved from bignum.c. [ruby-dev:34582] * bignum.c (rb_big_fdiv): update RDoc description * rational.c (nurat_s_new_m): small refactoring. * bignum.c (rb_big2dbl): no need for forceful warning when converting to float. overflow is a nature of float values. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ChangeLog updatedmatz2008-05-061-1/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/zlib/zlib.c (gzreader_gets): may cause infinite loop.matz2008-05-063-3/+10
| | | | | | [ruby-reference-manual:762] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* File#lchmod test removed because the method is not exist.akr2008-05-061-2/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/io/nonblock/test_flush.rb: don't set Thread.abort_on_exception.akr2008-05-053-7/+24
| | | | | | | | * test/net/imap/test_imap.rb: ensure disconnecting imap to terminate receiver thread.. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * iseq.c (insn_operand_intern): should handle Qundef embedded inmatz2008-05-052-3/+13
| | | | | | operand. [ruby-core:16656] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (iseq_compile_each): should call compile_cpath() formatz2008-05-054-5/+15
| | | | | | | | modules as well. [ruby-dev:34585] * insns.def (defineclass): add undef handling. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insns.def (defineclass): was using wrong variable. [ruby-dev:34592]matz2008-05-052-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_fflush): IO#flush problem within threads. a patch frommatz2008-05-052-2/+7
| | | | | | <s.wanabe at gmail.com> in [ruby-dev:34595]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (defined_expr): protect some expression frommatz2008-05-052-1/+12
| | | | | | | | | segmentation fault. a patch from wanabe <s.wanabe at gmail.com> in [ruby-dev:34593]. * compile.c (defined_expr): git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * struct.c (rb_struct_s_def): Struct.new(0) should not SEGV.matz2008-05-052-5/+15
| | | | | | | | | based on the patch from wanabe <s.wanabe at gmail.com> in [ruby-dev:34594]. * struct.c (make_struct): call to_str on name object. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e