test_gem_specification.rb: skip meaningless tests

* test/rubygems/test_gem_specification.rb (have_syck): skip tests
  which are meaningless if syck is never possible.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 2012-09-08

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
debugging

* .travis.yml (script): verbose to investigate hang-ups on gcc 4.6.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
.travis.yml: revert.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
internal.h: allocator function in rb_classext_t

* internal.h (struct rb_classext_struct): move allocator function into
  rb_classext_t from ordinary method table.  [ruby-dev:46121]
  [Feature #6993]
* object.c (rb_obj_alloc): call allocator function directly.
* vm_method.c (rb_define_alloc_func, rb_undef_alloc_func)
  (rb_get_alloc_func): use allocator function in rb_classext_t.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c (rb_mutex_lock): stop multiple threads use
  pthread_cond_timedwait() concurrently. [Bug #6278] [ruby-core:44275]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 2012-09-09

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c (io_bufread): removed unnecessary rb_thread_wait_fd().
  Patch by Eric Wong. [Bug #6629] [ruby-core:45789]
* io.c (rb_io_sysread): ditto.
* io.c (copy_stream_fallback_body): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c (nogvl_close, maygvl_close, nogvl_fclose, maygvl_fclose):
  new functions.
* io.c (fptr_finalize): release GVL if possible.
  Patched by Eric Wong. [Feature #4570] [ruby-core:35711]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_io.rb (test_advise_pipe): new test to check
  io.advise() against anonymous io object don't make crash.
  made by Eric Wong. [Bug #6081] [ruby-core:42880]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/sync.rb (Sync_m): Removed RCS_ID.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* include/ruby/intern.h (rb_thread_blocking_region): Added
  a comment of recommended alternative way.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/sync.rb (Sync_m#sync_lock): Fixed wakeup/raise unsafe code.
  Patched by Masaki Matsushita. [Bug #5355] [ruby-dev:44521]

* test/thread/test_sync.rb (test_sync_lock_and_wakeup,
  test_sync_upgrade_and_wakeup, test_sync_lock_and_raise):
  new test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* properties.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/thread.rb (Queue#pop): Fixed double registration issue when
  mutex.sleep is interrupted. [Bug #5258] [ruby-dev:44448]
* lib/thread.rb (SizedQueue#push): ditto.

* test/thread/test_queue.rb (test_sized_queue_and_wakeup,
test_queue_pop_interrupt, test_sized_queue_pop_interrupt,
test_sized_queue_push_interrupt): new tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c: exec() requires to be single threaded also on Haiku.
  by Takashi Toyoshima <toyoshim@gmail.com>
  https://github.com/ruby/ruby/pull/178

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 2012-09-10

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c (rb_io_close): notify fd close before releasing gvl.
* io.c (fptr_finalize): modify fptr->mode before releasing gvl.
  remove unnecessary rb_thread_fd_close().
  [Feature #4570] [ruby-core:35711]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c (nogvl_close, maygvl_close, nogvl_fclose, maygvl_fclose):
  suppress integer <-> pointer cast warnings.
  [Feature #4570] [ruby-core:35711]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/socket/basicsocket.c (rsock_bsock_send):
  avoid unnecessary select() calls before doing I/O
  Patch by Eric Wong. [Feature #4538] [ruby-core:35586]
* ext/socket/init.c (rsock_s_recvfrom): ditto.
* ext/socket/init.c (rsock_s_accept): ditto.
* ext/socket/udpsocket.c (udp_send): ditto.
* io.c (io_fflush): ditto.
* io.c (io_binwrite): ditto.
* io.c (rb_io_syswrite): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e