* lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build):
use RUBYOPT instead of -r option, and revert some tests. [Bug #7698]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rubygems/ext/ext_conf_builder.rb (Gem::Ext::ExtConfBuilder.build):
revert use of temporary directory for build, to work some buggy
extconf.rb which cannot build outside the source directory.
[ruby-core:53056] [Bug #7698]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/thread/test_queue.rb (TestQueue#test_thr_kill): reduce
iterations from 2000 to 250. When running on uniprocessor
systems, every th.kill needs TIME_QUANTUM_USEC time (i.e.
100msec on posix systems). Because, "r.read 1" is 3 steps
operations that 1) release GVL 2) read 3) acquire gvl and
(1) invoke context switch to main thread. and then, main
thread's th.kill resume (1), but not (2). Thus read interrupt
need TIME_QUANTUM_USEC. Then maximum iteration is 30sec/100msec
= 300.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_pthread.c (set_nonblock): new helper function for set
O_NONBLOCK.
* thread_pthread.c (rb_thread_create_timer_thread): set O_NONBLOCK
to timer_thread_pipe[0] too.
* thread_pthread.c (consume_communication_pipe): retry when
read returned CCP_READ_BUFF_SIZE.
* thread_pthread.c (rb_thread_create_timer_thread): factor out
creating communication pipe logic into separate function.
* thread_pthread.c (setup_communication_pipe): new helper function.
* thread_pthread.c (set_nonblock): moves a definition before
setup_communication_pipe.
* thread_pthread.c (rb_thread_wakeup_timer_thread_fd): add fd
argument and remove hardcoded dependency of timer_thread_pipe[1].
* thread_pthread.c (consume_communication_pipe): add fd argument.
* thread_pthread.c (close_communication_pipe): ditto.
* thread_pthread.c (timer_thread_sleep): adjust the above changes.
* thread_pthread.c (setup_communication_pipe_internal): factor
out pipe initialize logic.
* thread_pthread.c (ARRAY_SIZE): new.
* thread_pthread.c (gvl_acquire_common): use low priority
notification for avoiding timer thread interval confusion.
If we use timer_thread_pipe[1], every gvl_yield() request
one more gvl_yield(). It lead to thread starvation.
[Bug #7999] [ruby-core:53095]
* thread_pthread.c (rb_reserved_fd_p): adds timer_thread_pipe_low
to reserved fds.
* process.c (setup_communication_pipe): remove unused function.
it was unintentionally added r39683.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_pthread.c (USE_SLEEPY_TIMER_THREAD): use more accurate
ifdef condtions.
* thread_pthread.c (timer_thread_sleep): use poll() instead of
select(). select doesn't work if timer_thread_pipe[0] is
greater than FD_SETSIZE.
* thread_pthread.c (USE_SLEEPY_TIMER_THREAD): add a dependency
against poll.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (unexpand_shvar): get rid of non-portable shell
behavior on OpenBSD, so no extra quotes. [Bug #7959]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y (IS_LABEL_POSSIBLE): allow labels for keyword arguments just
after method definition without a parenthesis. [ruby-core:52820]
[Bug #7942]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* error.c: clarify a document of SignalException. Process.kill()
doesn't have any guarantee when signal will be delivered.
[Bug #7951] [ruby-core:52864]
* error.c: clarify reason for sleep in SignalException example
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk (realclean-local): miniprelude.c is made by srcs, so it
should not removed by distclean but by realclean. [Bug #6807]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* enc/depend (ARFLAGS): VisualC++ linker does not allow spaces between
output option and the output file name. [Bug #7950]
* enc/depend (RANLIB): set default command to do nothing, or make the
entire line a label on Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c: Document Thread::new, clean up ::fork and mention calling
super if subclassing Thread
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (unexpand_shvar): Use the numeric comparison
operator instead of '==' which is a ksh extention. [Bug #7941]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* random.c (rb_random_ulong_limited): limit is inclusive, but generic
rand method should return a number less than it, so increase for the
difference. [ruby-core:52779] [Bug #7935]
* test/ruby/test_array.rb (test_sample_random): remove adjustment for
the bug fixed by r39466. [ruby-core:52779] [Bug #7935]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_insnhelper.c (vm_call_method): block level control frame does not
have method entry, so obtain the method entry from method top-level
control frame to be compared with refined method entry.
[ruby-core:52750] [Bug #7925]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* signal.c (sigsegv): suppress unused result warning. Because
write(2) is marked __warn_unused_result__ on Linux glibc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c (iseq_set_arguments): no keyword check if any keyword rest
argument exists, even unnamed. [ruby-core:52744] [Bug #7922]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test_backtrace.rb: test Thread#backtrace_locations with range
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test_process.rb: fix test
* test/ruby/test_process.rb (assert_fail_too_long_path): get rid of
syntax error on sh, increase command line size until it exceeds the
limit. [Bug #7904]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* dir.c (file_s_fnmatch, fnmatch_brace): encoding-incompatible pattern
and string do not match, instead of exception. [ruby-dev:47069]
[Bug #7911]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/test_rbconfig.rb (TestRbConfig): skip user defined values by
configuration options. [Bug #7902]
* test/test_rbconfig.rb (TestRbConfig): fix r39372.
It must see RbConfig::CONFIG instead of CONFIG.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rexml/document.rb (REXML::Document.entity_expansion_text_limit):
fix a typo in comment in r39384.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* numeric.c: Examples and formatting for Numeric and Float
Based on a patch by Zach Morek and Oren K of newhaven.rb
[Github documenting-ruby/ruby#5]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* doc/globals.rdoc: Document what setting $DEBUG does.
* doc/globals.rdoc: Added pointer to $-d for full documentation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* doc/globals.rdoc: Document what setting $VERBOSE does. [Bug #7899]
* doc/globals.rdoc: Added pointer to $-w and $-v for full
documentation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Add test for [Backport #7896] [ruby-core:52607]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* signal.c (sigsegv): avoid to use async signal unsafe functions
when nested sigsegv is happen.
[Bug #5014] [ruby-dev:44082]
* signal.c (check_stack_overflow): extract duplicated code and get rid
of declaration-after-statement. [Bug #5014]
* signal.c (ruby_abort): fix typo in r39354 [Bug #5014]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* file.c (RB_MAX_GROUPS): moved to
* internal.h (RB_MAX_GROUPS): here.
* file.c (rb_group_member): use RB_MAX_GROUPS instead of
RUBY_GROUP_MAX. They are the same.
* process.c (RB_MAX_GROUPS): moved to
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
mkconfig.rb: clear exec_prefix
* tool/mkconfig.rb: clear exec_prefix which may differ from prefix,
before expanding rubyarchdir to remove prefix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/merger.rb: add interaction when only ChangeLog is modified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e