Commit graph

29400 commits

Author SHA1 Message Date
svn
10295ab2ff * 2012-12-17
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-16 23:00:08 +00:00
drbrain
92443fccbf * lib/rubygems.rb: Updated VERSION
* test/rubygems/test_gem_installer.rb:  Fixed ambiguous first argument
  warning.

* test/rubygems/test_gem_rdoc.rb:  RDoc generation depends on installed
  version of RDoc.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-16 23:00:04 +00:00
kosaki
44b4b9060d * signal.c (rb_sigaltstack_size): cast sysconf() return value
explicitly. Fix compile error on Mac OS X.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 17:10:50 +00:00
nagachika
54619f8d1e * cont.c (rb_fiber_start): don't enqueue Qnil to async_errinfo_queue.
rb_vm_make_jump_tag_but_local_jump() could return Qnil (ex. when
  finished by Thread.exit). [ruby-dev:45218] [Bug #5993]

* test/ruby/test_fiber.rb (test_exit_in_fiber): add test for it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 15:46:07 +00:00
ngoto
48bcb55c41 * ext/fiddle/pointer.c (rb_fiddle_ptr2cptr): fix error message forgotten to be changed from DL to Fiddle.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 15:04:25 +00:00
svn
438cca5720 * 2012-12-16
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 15:00:05 +00:00
kazu
9d960e38c8 fix a typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 15:00:00 +00:00
kosaki
0e19d2b434 * signal.c (default_handler): remove rb_register_sigaltstack()
call. sigaltstack was already registered when creating threads.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 14:20:24 +00:00
kosaki
aff9dff46d * signal.c (rb_sigaltstack_size): new. calculate stack size for
sigsegv handler. enlarge value when x86 or x86_64 on Linux.
  Linux has very small MINSIGSTKSZ size (2048 bytes) and
  our sigsegv routine need 5KiB at least. [Bug #7141]
* internal.h: add declaration of rb_sigaltstack_size().
* vm_core.h: remove ALT_STACK_SIZE definition.

* signal.c (rb_register_sigaltstack): replace ALT_STACK_SIZE with
  rb_sigaltstack_size();
* gc.c (Init_heap): ditto.
* vm.c (th_init): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 14:20:12 +00:00
tadf
cbe5f8820b * rational.c (f_round_common): should check overflow.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 09:25:13 +00:00
tadf
81af1bd9e8 * ratioanl.c (float_rationalize): reduced.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 09:01:22 +00:00
nobu
985fe77356 test_gem_remote_fetcher.rb: restore environment variables
* test/rubygems/test_gem_remote_fetcher.rb (setup, teardown): always
  restore environment variables fo http proxy, to get rid of sporadic
  warnings from URI::Generic#find_proxy.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 07:29:43 +00:00
kazu
43f791624a fix a typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 07:18:07 +00:00
nobu
691ee91c1a * proc.c (rb_binding_new_with_cfp): allocate the object after envirionment check.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 06:10:04 +00:00
nobu
2ca5e8eeab * parse.y (yycompile0): adjust indent.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 06:10:01 +00:00
kosaki
771f692792 fix typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 05:40:41 +00:00
kosaki
7fbaa0bedf * io.c (finish_writeconv): uses rb_write_internal2 if
fptr->write_lock have.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 05:40:29 +00:00
kosaki
e78d4e69fe * thread.c (rb_mutex_owned_p): remove static.
* io.c (io_flush_buffer): don't hold mutex if already have.
  Now recursive lock may occur when following scenario.
  fptr_finalize -> finish_writeconv_sync -> finish_writeconv
  -> io_fflush.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 05:40:18 +00:00
kosaki
9bd33790b7 * io.c (io_flush_buffer): uses io_flush_buffer_async2 instead of
io_flush_buffer_async.
* io.c (io_flush_buffer_async2): new helper function for
  io_flush_buffer. It uses rb_thread_call_without_gvl2() instead
  of rb_thread_io_blocking_region.
* io.c (io_flush_buffer_sync2): new helper function for
  io_flush_buffer_async2.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 05:40:07 +00:00
kosaki
2a4d86f385 * io.c (internal_write_func2): new helper function for rb_write_internal2().
* io.c (rb_write_internal2): new function. it uses
  rb_thread_call_without_gvl2() instaed of rb_thread_io_blocking_region().
* io.c (rb_binwrite_string): uses rb_write_internal2 instead of
  rb_write_internal. [Bug #7134]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 05:39:57 +00:00
kosaki
96350867e1 * io.c (rb_io_wait_writable): add to call rb_thread_wait_fd()
likes rb_io_wait_readable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 05:39:46 +00:00
kosaki
70df4dec03 * io.c (rb_io_wait_writable): don't call rb_thread_fd_writable()
when EINTR. EINTR mean signal interrupt was happen. We don't
  need any wait.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 05:39:36 +00:00
kosaki
47fa79203d * thread.c (rb_thread_wait_fd_rw): remove silly rb_thread_alone()
check.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 05:39:25 +00:00
nobu
2ed40d3b57 * configure.in (NULLCMD): check in loop.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 01:39:49 +00:00
nobu
67c599a5d2 * configure.in (GNUmakefile): remove -jN option from submake.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 01:39:47 +00:00
nobu
c99425101d * ChangeLog: fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 01:39:43 +00:00
nobu
ce6a2c7fac thread.c: revert r38382 but deprecate rb_thread_polling()
* thread.c (rb_thread_polling): revert but deprecate.
* include/ruby/intern.h (rb_thread_polling): deprecate.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 01:22:44 +00:00
tarui
cb6917d913 * test/rubygems/test_gem_ext_cmake_builder.rb(test_self_build):
get rid of false positive.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 23:40:02 +00:00
nobu
d8bc991a76 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 23:14:21 +00:00
kosaki
4bcfc17182 * test/ruby/test_thread.rb (test_uninitialized, test_backtrace,
test_thread_timer_and_interrupt, test_thread_join_in_trap,
test_thread_join_current, test_thread_join_main_thread,
test_main_thread_status_at_exit, test_thread_status_in_trap,
test_thread_status_raise_after_kill, test_mutex_owned,
test_mutex_owned2): move these tests from TestThreadGroup class
  to TestThread becuase they are not thread group tests.

* test/ruby/test_thread.rb (test_thread_status_raise_after_kill):
  add t.join.

* test/ruby/test_threadgroup.rb: new file. moved ThreadGroup test
  form test_thread.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 23:11:36 +00:00
kosaki
3074406bbe * test/ruby/test_thread.rb (TestThread::Thread::new.): remove
th.abort_on_exception change. Test template shouldn't change
  global flag. It prevent to test a normal case.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 23:11:26 +00:00
drbrain
40f89c17e6 * configure.in (HAVE_GCC_ATOMIC_BUILTINS): Set -march=i486 to enable
__sync_val_compare_and_swap.  Patch by KOSAKI Motohiro.
  [ruby-trunk - Bug #7485]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 21:18:00 +00:00
kosaki
2d5fc17f14 * include/ruby/intern.h: remove rb_thread_polling() declaration.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 19:25:29 +00:00
nobu
688f3ec67d vm_trace.c: suppress warning
* vm_trace.c (exec_hooks): suppress unused-variable warning by
  RB_UNUSED_VAR().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 18:59:12 +00:00
ngoto
13b20230f9 * ext/.document: add fiddle/pointer.c, fiddle/handle.c, and fiddle/win32/lib as documentation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 18:47:02 +00:00
kosaki
a24f2d9915 * file.c (rb_file_flock): use rb_thread_wait_for() instead of
rb_thread_polling(). When getting EAGAIN, we need to wait a
  while even if no multi threading.
* thread.c (sleep_for_polling, rb_thread_polling) removed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 18:08:40 +00:00
svn
2d2cac4b05 * 2012-12-15
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 15:12:03 +00:00
kosaki
cb92817e7c * signal.c (rb_f_kill): remove rb_thread_polling() because this
has no good effect and makes meaningless 100ms delay. 1)
  when sending signal to another process, waiting has just silly.
  2) when sending signal to current process, 100ms is often not
  enough time to wait. It depend on kernel behavior. And,
  rb_thread_polling() doesn't make sense anyway. When rb_thread_alone()
  is true, it doesn't wait at all and Process.kill() users don't
  expect threading changes Process.kill() behavior. [Bug #7560]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 15:11:59 +00:00
nobu
c492bc127b parse.y: fix line number
* parse.y (parser_params): parser_tokline to track the line number at
  which token started.  [ruby-dev:46737] [Bug #7559]
* parse.y (fcall): operation with starting line number.
* parse.y (command, primary, method_call): point method name line.
* parse.y (gettable_gen): return token line for __LINE__.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 08:11:03 +00:00
nobu
5a565d5c4d parse.y: fix line number
* parse.y (parser_params): parser_tokline to track the line number at
  which token started.  [ruby-dev:46737] [Bug #7559]

* parse.y (fcall): operation with starting line number.

* parse.y (command, primary, method_call): point method name line.

* parse.y (gettable_gen): return token line for __LINE__.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 08:11:00 +00:00
shugo
1d7f737553 * vm_insnhelper.c (vm_call_super_method): remove volatile introduced
in r38365.

* vm_insnhelper.c (vm_call_method): use __forceinline to prevent
  VC to make vm_call_general and vm_call_super_method as the same
  method.  Thanks, Heesob Park.  [Bug #7556] [ruby-core:50867]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 08:04:55 +00:00
nobu
7236046359 * ChangeLog: fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 06:09:04 +00:00
nobu
c97dc42bb0 envutil.rb: using caller_locations
* test/ruby/envutil.rb (Test::Unit::Assertions#assert_separately):
  take file and line by using caller_locations if not given.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 05:59:17 +00:00
nobu
2bd5113c8c envutil.rb: count assertions
* test/ruby/envutil.rb (Test::Unit::Assertions#assert_separately):
  count assertions in separated tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 05:58:41 +00:00
drbrain
8adec52962 * lib/rdoc/rubygems_hook.rb: Fixed generation of documentation.
Disabled rdoc generation by default to match RubyGems defaults.
  Reduced diff with RubyGems::RDoc.
* test/rdoc/test_rdoc_rubygems_hook.rb:  Tests for the above.
* test/rubygems/test_gem_rdoc.rb:  ditto.

* lib/rdoc/store.rb:  Removed useless variable assignment


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 05:16:56 +00:00
drbrain
1dfe3d93fa * lib/rubygems/commands/rdoc_command.rb: When overwriting
documentation, remove existing documentation first.

* lib/rubygems/server.rb:  Fixed documentation links.
* test/rubygems/test_gem_server.rb:  Test for the above.

* lib/rubygems/rdoc.rb:  Reduced diff with RDoc::RubyGemsHook
* test/rubygems/test_gem_rdoc.rb:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 05:09:37 +00:00
naruse
497f8904cb * vm_trace.c (exec_hooks): add volatile to avoid segv.
On test-all with -j, it may crash in TH_POP_TAG.
  Detailed mechanism is not known but this fixes it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 01:38:14 +00:00
naruse
1e7ef5882e Use assert_separately to speed up slow tests
These speed will slow down when there are many objects like test-all.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 01:38:12 +00:00
naruse
bc2195e4fb * test/ruby/envutil.rb (EnvUtil::Unit::Assertionsassert_separately):
added to execute given test source on separate process,
  catch its resulted exception and raise it on main process.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 01:38:07 +00:00
svn
2f0095e1ab * 2012-12-14
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38368 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-13 22:45:21 +00:00