summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-07-31* ext/openssl/ossl_ssl.c (ossl_call_tmp_dh_callback): Similarly to thetenderlove
tmp_ecdh_callback, the SSLSocket instance always holds a reference to the SSLContext object (it's always set in `initialize`). The SSLContext holds a reference to the tmp_dh_callback. Ask the context for the callback instead of storing the callback in two places. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-31* ext/openssl/ossl_ssl.c (ossl_call_tmp_dh_callback): create an arraytenderlove
and use `rb_apply` to clean up calls to `rb_protect`. * ext/openssl/ossl_ssl.c (ossl_tmp_dh_callback): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-31* ext/openssl/ossl_ssl.c (ossl_call_tmp_ecdh_callback): The SSL sockettenderlove
always holds a reference to the SSLContext object, which will have the callback object. Ask the context for the callback instead of storing the callback in two places. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-31* 2015-08-01svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-31* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): converttenderlove
`tmp_dh_callback` to Ruby, and call it when setting up an SSL connection. This allows us to move the "default" behavior to the reader method. * ext/openssl/ossl_ssl.c: call the tmp_dh_callback instead of accessing the SSLContext's internals. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-31* remove trailing spaces.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-31Update libssl before Travis buildtenderlove
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-31* 2015-07-31svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-31load.c: use rb_load_internal0nobu
* load.c (rb_require_internal): use rb_load_internal0 not to raise a exception to be caught. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-30test_settracefunc.rb: refinenobu
* test/ruby/test_settracefunc.rb (test_isolated_raise_in_trace): check outputs. * test/ruby/test_settracefunc.rb (test_recursive): method name which is internally called by TracePoint is now skipped. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-30thread.c: identity hashnobu
* thread.c (rb_uninterruptible): use identity hash for masking. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-30fix typonobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-30common.mk: PHONY should be phony [ci skip]nobu
* common.mk (PHONY): should not depend on any real files, not to make those dependencies inadvertently. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-30test_pair.rb: join client threadnobu
* test/openssl/test_pair.rb (test_ecdh_callback): join client thread only when it started. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-30envutil.rb: -w for assert_separatelynobu
* test/lib/envutil.rb (assert_separately): always add -w option for warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-30variable.c: Module#deprecate_constantnobu
* variable.c (rb_const_get_0): warn deprecated constant reference. * variable.c (rb_mod_deprecate_constant): mark constants to be warned as deprecated. [Feature #11398] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-30NEWS: sort alphabeticallynobu
* NEWS (Core classes updates): sort classes/modules in alphabetical order. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-30common.mk: no version.inobu
* common.mk (clean-local): version.i is no longer generated automatically. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-30thread.c: identical hashnobu
* thread.c (rb_thread_s_handle_interrupt): make identical hash, to compare masking classes just by their IDs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-30load.c: stop separating exits at loadingnobu
* load.c (rb_load_internal0): stop separating exits at loading from exits from execution. TAG_FATAL is the only case that `errinfo` is a Fixnum, and should continue to exit by JUMP_TAG but not raising as an ordinary exception. [ruby-core:70169] [Bug #11404] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-30load.c: avoid segfault when 'throw' occurs in the middle of rb_load_file_strnobu
How can a 'throw' happen while the current thread is reading a Ruby source file from disk and parsing it? It can happen if another thread calls Thread#raise, and passes an Exception object which responds to #exception, and the custom #exception method calls Kernel#throw. In practice, this is most likely to happen if you combine the use of autoload and Timeout.timeout. An extra check is required to avoid a segfault in this case. * load.c (rb_load_internal0): extra check before returning TAG_RAISE when a non-local transfer of control happens while loading and parsing a Ruby source file. [ruby-core:70169] [Bug #11404] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29st.c: constify st_table* in private functionsnormal
Minor size reduction on 32-bit x86: text data bss dec hex filename 13742 24 0 13766 35c6 st.o 14166 24 0 14190 376e st-orig.o Public API change to be proposed separately. * st.c (find_entry): constify st_table* (find_packed_index_from): ditto (find_packed_index): ditto (get_keys): ditto (get_values): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29* properties.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29* 2015-07-30svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29new benchmarks for hashing dsyms and fixnumsnormal
* benchmark/bm_hash_aref_dsym.rb: new benchmark * benchmark/bm_hash_aref_dsym_long.rb: ditto * benchmark/bm_hash_aref_fix.rb: ditto [ruby-core:70129] [Bug #11396] pointed out we need to consider more cases for hashing. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29test_pair.rb: thread leaknobu
* test/openssl/test_pair.rb (test_ecdh_callback): join client thread before closing sockets. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29test_pair.rb: thread leaknobu
* test/openssl/test_pair.rb (test_ecdh_callback): fix thread leak. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29symbol.c: fix dynamic symbol hash valuenobu
* hash.c (any_hash), symbol.c (dsymbol_alloc): fix dynamic symbol hash value by restricting in Fixnum range, that is `long`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29test_hash.rb: suppress warningsnobu
* test/ruby/test_hash.rb (test_label_syntax): pass assertion message and suppress warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29hash.c: move rb_obj_hashnobu
* hash.c (rb_obj_hash): move in order to share with rb_any_hash. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29fiddle: $LOCAL_LIBS needs to be expandednobu
* ext/fiddle/extconf.rb: revert part of r51401 and expand $LOCAL_LIBS as it will be extracted and copied to exts.mk. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29string.c: empty non-embed casenobu
* string.c (str_buf_cat): consider empty non-embed string case, not to loop infinitely. [ruby-core:70074] [Bug #11383] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29vm_eval.c: set method_missing_reasonnobu
* vm_eval.c (send_internal): set method_missing_reason before invoking overriding method_missing method so that the default method_missing can achieve it properly. [ruby-core:68515] [Bug #10969] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29hash.c: fix symbol hashnobu
* hash.c (rb_sym_hash): return same value as rb_any_hash() of Symbol. [Bug #9381] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29hash.c: fix float hashnobu
* hash.c (rb_any_hash): fix Float hash. rb_dbl_hash() returns a Fixnum, but not a long. [Bug #9381] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29* test/ruby/test_io.rb (TestIO#test_open_flag_binary): typo of method name ↵usa
(test method itself, and calling method). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29test_hash.rb: add assertionsnobu
* test/ruby/test_hash.rb (test_wrapper_of_special_const): test other special obejcts. [Bug #9381] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29open the path instead of tempfile objectnaruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29internal.h: fix LIKELYnobu
* internal.h (LIKELY, UNLIKELY): inverted conditions generate wrong code. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29internal.h: ensure a booleannobu
* internal.h (LIKELY, UNLIKELY): make a boolean to enforce 1 or 0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29common.mk: fix conflict of version.inobu
* common.mk ($(arch)-fake.rb): read from STDIN instead of creating version.i, to get rid of conflict with tool/update-deps. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29* gc.c: document argument passed to finalizer proc.hsbt
[fix GH-976][ci skip] Patch by @alexdowad git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29refix r51329 and show thread informationnaruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29* io.c (rb_io_extract_modeenc): add option parameter `flags'naruse
to append extra oflags to normal mode. [Feature #11253] [ruby-core:69539] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-28* 2015-07-29svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-28test/rubygems/test_gem_remote_fetcher.rb: pre-generate test keynormal
OpenSSL::PKey::DH.new(2048) takes forever, and we pre-generate test keys for other SSL-using tests anyways. * test/rubygems/test_gem_remote_fetcher.rb: pre-generate test key [ruby-core:70151] [Bug #11397] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-28internal.h: moved RClassnobu
* internal.h (struct RClass): moved from ruby/ruby.h to hide the internals. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-27configure.in: RUBY_TYPE_ATTRIBUTEnobu
* configure.in (RUBY_TYPE_ATTRIBUTE): attribute declaration for types. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-27test/unit.rb: show signalnobu
* test/lib/test/unit.rb (Test::Unit::Parallel::Worker#died): show terminated signal when a worker died. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-27symbol.h: memoize hashval for RSymbolnormal
This speeds up the hash function for dynamic symbols. [ruby-core:70129] [Bug #11396], nearly up to Ruby 2.1 levels Power-of-two hash sizing [Feature #9425] speeds up cases where we have a good hash, but this means we can no longer hide behind weak hashes. Unfortunately, object IDs do not hash well, but we may use the extra space in the RSymbol struct to memoize the hash value. Further optimizations should be possible. For now, the st.c APIs force us to calculate rb_str_hash redundantly at dsym registration. * symbol.h (struct RSymbol): add hashval field * symbol.c (dsymbol_alloc): setup hashval field once * hash.c (rb_any_hash): return RSymbol->hashval directly * common.mk: hash.o depends on symbol.h Thanks to Bruno Escherl <bruno@escherl.net> for the bug report [ruby-core:70129] [Bug #11396] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e