signal: remove window for SignalException on IGNORE

* signal.c (signal_exec): ignore immediate cmd for SIG_IGN
* signal.c (trap_handler): set cmd to true for SIG_IGN
* signal.c (trap): handle nil and true values for oldcmd
  [Bug #9835]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
vm.c: remove rb_vm_living_threads_foreach function

Shorter code with fewer callbacks and casts should be more readable.

* vm.c (rb_vm_living_threads_foreach): remove function
  [ruby-core:62745]
* thread.c (terminate_i): remove
* thread.c (terminate_all): implement (inlines old terminate_i)
* thread.c (rb_thread_terminate_all): use terminate_all
* thread.c (rb_thread_fd_close_i): remove
* thread.c (rb_thread_fd_close): iterate inline
* thread.c (thread_list_i): remove
* thread.c (rb_thread_list): iterate inline
* thread.c (rb_thread_atfork_internal): iterate inline
* thread.c (terminate_atfork_i): update types to remove casts
* thread.c (terminate_atfork_before_exec_i): ditto
* thread.c (struct thgroup_list_params): remove definition
* thread.c (thgroup_list_i): remove
* thread.c (thgroup_list): iterate inline
* thread.c (check_deadlock_i): remove
* thread.c (debug_deadlock_check): implement (inlines check_deadlock_i)
* thread.c (debug_i): remove
* thread.c (rb_check_deadlock): iterate inline
* vm.c (vm_mark_each_thread_func): remove
* vm.c (rb_vm_mark): iterate inline
* vm_core.h (rb_vm_living_threads_remove): remove
* vm_trace.c (clear_trace_func_i): remove
* vm_trace.c (rb_clear_trace_func): iterate inline

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test_thread.rb: move thread switch test

* test/ruby/test_thread.rb (test_switch_while_busy_loop): move
  from test/test_timeout.rb.  [Bug #1402]

* test/test_timeout.rb (test_timeout): no longer related to
  [Bug #1402].  [Bug #8523]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
envutil.rb: connect caller to backtrace

* test/ruby/envutil.rb (assert_separately): append current caller
  to backtrace show proper method name.

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

* test/ruby/test_dir_m17n.rb (assert_raw_file_name): rename to
  show caller method in failure messages.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
localeinit.c: fallback filesystem encoding to UTF-8

* localeinit.c (Init_enc_set_filesystem_encoding): fallback to
  UTF-8 on Mac OS X, just for convenience sake.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
[DOC] Typo in change log [ci skip]
Although a mint flavored test suite sounds delicious,
I believe it's supposed to be minitest!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test_socket.rb: ignore interface without address

* test/socket/test_socket.rb (test_udp_server): ignore interface
  with no address assigned.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
eval_intern.h: suppress warning by gcc 4.6

* eval_intern.h (VAR_FROM_MEMORY, VAR_INITIALIZED): gcc 4.6 also
  seems to warn false maybe-uninitialized.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test/rake: avoid leaking threads

* test/rake/test_rake_multi_task.rb (teardown): clean up thread
  pool to avoid leaking threads.

* test/rake/test_rake_task_with_arguments.rb (teardown): ditto.

* test/rake/test_rake_thread_pool.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test/rake: avoid leaking threads

* test/rake/test_rake_task.rb (teardown): clean up thread pool to
  avoid leaking threads.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
drbtest.rb: avoid leaking threads

* test/drb/drbtest.rb (test_06_timeout): clean up worker threads
  to avoid leaking threads.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/openssl/ossl_ssl.c (ossl_ssl_close): Fix sync_close to work
  when SSL is not started.
  This fix the fd leak by test_https_proxy_authentication in
  test/net/http/test_https_proxy.rb.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/net/imap.rb (Net::IMAP#initialize): Close the opened socket when
  any exception occur.
  This fixes a fd leak by IMAPTest#test_imaps_post_connection_check
  which start_tls_session() raises an exception.




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
No need to kill a thread.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_io.rb (test_flush_in_finalizer1): Use
  ObjectSpace.each_object to close files.
  GC.start is not reliable.



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


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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/socket/unixsocket.c (rsock_init_unixsock): Open a socket
  after path length check.
  This fixes a fd leak by TestSocket_UNIXSocket#test_too_long_path.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
include/ruby/ruby.h: hide Symbol internals

This is too new to be a compatibility problem.

* include/ruby/ruby.h: Hide Symbol internals.
  (struct RSymbol): moved to internal.h
  (RSYMBOL): ditto

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