aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Drop support for BeOSnobu2015-11-2415-165/+17
| | | | | | | * beos: Drop support for BeOS now that Haiku is stable. [Fix GH-1112] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* internal.h: export rb_gc_for_fdnobu2015-11-242-1/+6
| | | | | | | * internal.h (rb_gc_for_fd): move to export, as referred by ext/socket. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add missing punctuation to File docs [ci skip]nobu2015-11-242-1/+6
| | | | | | | * file.c: [DOC] add a missing period to File docs, to terminate the sentence and separate from the next sentence. [Fix GH-1111] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix Struct#dig issue number [ci skip]nobu2015-11-232-1/+6
| | | | | | | * NEWS: Fix the issue number of `Struct#dig`, which should be [Feature #11688]. [Fix GH-1110] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/socket/init.c (rsock_accept): handle ENOMEMnormal2015-11-232-0/+5
| | | | | | | accept(2) documents ENOMEM as a possible error, handle it consistent with all of our other FD-allocating wrappers. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* use rb_gc_for_fd for more callersnormal2015-11-236-7/+14
| | | | | | | | | | | | | | | | * dir.c (dir_initialize): use rb_gc_for_fd for ENOMEM * ext/socket/init.c (rsock_socket): ditto * ext/socket/socket.c (rsock_socketpair): ditto * internal.h (rb_gc_for_fd): prototype * io.c (rb_gc_for_fd): remove static [ruby-core:71623] [Feature #11727] Manpages for opendir(2), socket(2), and socketpair(3posix) describe ENOMEM as a possible error for each of these; handle it consistently with our existing wrappers for open(2)/pipe(2) etc... git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c (rb_gc_for_fd): wrapper for retrying FD creationnormal2015-11-232-11/+27
| | | | | | | | | | | | | | | | | | | | | | | This simplifies callers and makes error handling more consistent between our pipe, open, fdopen, and dup wrappers. This adds missing ENOMEM handling as documented in the open(2), pipe(2freebsd), and fdopen(3posix) manpages on my system. We also avoid repeatedly accessing `errno` which is implemented in TLS on GNU/Linux systems and more expensive to read than a local variable. We may export this in internal.h for ext/socket/* and dir.c, too. * io.c (rb_gc_for_fd): new helper function (ruby_dup): use rb_gc_for_fd (rb_sysopen): ditto (rb_fdopen): ditto (rb_pipe): ditto [ruby-core:71623] [Feature #11727] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-11-24svn2015-11-231-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle: release GVL for ffi_callnormal2015-11-238-36/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some external functions I wish to call may take a long time and unnecessarily block other threads. This may lead to performance regressions for fast functions as releasing/acquiring the GVL is not cheap, but can improve performance for long-running functions in multi-threaded applications. This also means we must reacquire the GVL when calling Ruby-defined callbacks for Fiddle::Closure, meaning we must detect whether the current thread has the GVL by exporting ruby_thread_has_gvl_p in internal.h * ext/fiddle/function.c (struct nogvl_ffi_call_args): new struct for GVL release (nogvl_ffi_call): new function (function_call): adjust for GVL release [ruby-core:71642] [Feature #11607] * ext/fiddle/closure.c (struct callback_args): new struct for GVL acquire (with_gvl_callback): adjusted original callback function (callback): wrapper for conditional GVL acquire * ext/fiddle/depend: add dependencies * ext/fiddle/extconf.rb: include top_srcdir for internal.h * internal.h (ruby_thread_has_gvl_p): expose for fiddle * vm_core.h (ruby_thread_has_gvl_p): moved to internal.h * test/fiddle/test_function.rb (test_nogvl_poll): new test git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in: On Solaris, with gcc, "-std=iso9899:1999"ngoto2015-11-232-0/+14
| | | | | | | | | in $ansi_options is often also needed in CPPFLAGS, because some feature definitions vary depending on such standards options. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Haiku now best effort supportnobu2015-11-2310-31/+72
| | | | | | | | | | * configure.in: remove obsolete workarounds for Haiku. * dln.c, file.c, io.c: remove obsolete Haiku workarounds. * thread_pthread.c: add stack bounds detection for Haiku. * signal.c: get stack pointer from signal context on Haiku. [ruby-core:67923] [Bug #10811] [Fix GH-1109] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gems/bundled_gems: bump version to minitest-5.8.3hsbt2015-11-232-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-11-23svn2015-11-221-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ChangeLog: fix wrong reference for r52714hsbt2015-11-221-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (rb_raw_obj_info): fix compile errors when USE_RGENGCodaira2015-11-222-3/+15
| | | | | | is 0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/cmath.rb: methods which has suffix '!' are now deprecated.ngoto2015-11-222-57/+70
| | | | | | | | Re-apply r52469 made by Kazuki Tanaka, with fixing bug about mathn.rb compatibility. [ruby-core:68528] [Feature #10974] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/ossl.c: fix brew command for installation of openssl.hsbt2015-11-222-1/+6
| | | | | | [ci skip][fix GH-1007] Patch by @arthurnn git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in: On Solaris, add -D_XOPEN_SOURCE=n only when bothngoto2015-11-222-24/+24
| | | | | | | | | AC_TRY_CPP and AC_TRY_COMPILE pass, because some options (e.g. -std=iso9899:1999) are not set when running C preprocessor or building ext. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c: fix positionnobu2015-11-221-1/+1
| | | | | | | * compile.c (iseq_compile_each): vals is NULL here, show the position of the parent node. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c: move logop DCEnobu2015-11-224-33/+60
| | | | | | | | | * compile.c (iseq_peephole_optimize): remove unreachable code chunk after jump/leave. * parse.y: move dead code elimination of logical operation to compile.c. not to warn logical operation of literal constants. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c: optimize useless branchesnobu2015-11-222-1/+17
| | | | | | | | * compile.c (iseq_peephole_optimize): eliminate always/never branches after a literal object and when the value is used after the branch. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fake.rb.in: block commentnobu2015-11-221-7/+8
| | | | | | * template/fake.rb.in: move shell code inside a block comment. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c: free labels tablenobu2015-11-221-4/+12
| | | | | | | | | | * compile.c (validate_labels): free labels table before raising an exception. * compile.c (rb_iseq_build_from_ary): wrap labels table to ensure freeing. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c: use rb_compile_bugnobu2015-11-221-23/+27
| | | | | | | * compile.c: use rb_compile_bug instead of rb_bug to show error position precisely. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c: use COMPILE_ERRORnobu2015-11-221-32/+42
| | | | | | | * compile.c: use COMPILE_ERROR to save an exception to be raised at cleanup_iseq_build. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c: flush disasmnobu2015-11-221-0/+1
| | | | | | * compile.c (dump_disasm_list): flush disassembled list. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c: check each stepsnobu2015-11-221-9/+8
| | | | | | * compile.c (iseq_setup): check return values of each steps. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in: Add -D_XOPEN_SOURCE=500 (or 600 or 700) on Solarisngoto2015-11-212-0/+54
| | | | | | | if available, mainly for enabling some features in sockets. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-11-22svn2015-11-211-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/socket/test_socket.rb (test/socket/test_socket.rb): skip the test ↵ngoto2015-11-212-1/+7
| | | | | | | | | when Socket::SO_TIMESTAMP is not defined. Fix error on Solaris 10. [Bug #11728] [ruby-dev:49377] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typo [ci skip]kazu2015-11-211-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typos [ci skip]kazu2015-11-211-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby.c: --debug=frozen-string-literal optionnobu2015-11-214-17/+30
| | | | | | | * ruby.c (need_argument): move frozen-string-literal-debug option from --enable to --debug. [Feature #11725] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby.c: fix pointer overrunnobu2015-11-212-1/+6
| | | | | | | * ruby.c (proc_options): fix pointer overrun. do not advance argv until it is valid. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix r52690naruse2015-11-211-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/digest/sha1/extconf.rb: OpenSSL's struct name for SHA1 isnaruse2015-11-212-1/+6
| | | | | | SHA_CTX. http://openssl.org/docs/man0.9.8/crypto/SHA1.html git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/digest/*/*.[ch]: include ruby.h before digest.h to avoidnaruse2015-11-2115-18/+26
| | | | | | | | | | | | includeing ext/digest/extconf.h. [Bug #3231] https://msdn.microsoft.com/library/36k2cdd4.aspx * ext/digest/*/extconf.rb: remove ext/digest from include search path to avoid confusion of cl.exe. * ext/digest/*/*.[ch]: explicitly specify def.h's path. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/ossl.h: LibreSSL doesn't have and need e_os2.h.naruse2015-11-212-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add to NEWS about Queue#closeko12015-11-211-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread_sync.c: reduce the specification of Queue#close.ko12015-11-213-62/+23
| | | | | | | | | | | | | * Queue#close accepts no arguments. * deq'ing on closed queue returns nil, always. [Feature #10600] * test/thread/test_queue.rb: catch up this fix. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Visual C++ 14 (2015) uses ucrtbase.dll as c runtimenaruse2015-11-211-1/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* read may return nilnaruse2015-11-201-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (iseq_compile_each): add debug information to NODE_STRko12015-11-207-21/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | strings as default. [Feature #11725] * insns.def (freezestring): add new instruction to support adding debug information for dynamically constracted strings. * compile.c (iseq_compile_each): support adding debug information for NODE_DSTR with freezestring instruction. * error.c (rb_error_frozen): change the debug information ID name id_debug_created_info and this field should have a 2 element array containing path and line information. * defs/id.def: ditto. * test/ruby/test_rubyoptions.rb: catch up this fix. * test/ruby/test_iseq.rb: now frozen strings are not same. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-11-21svn2015-11-201-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* symbol.c: not freeze the receivernobu2015-11-203-7/+21
| | | | | | | * symbol.c (rb_str_intern): should not freeze the receiver itself unexpectedly. [ruby-core:71611] [Bug #11721] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/logger.rb: expose logger mutexsonots2015-11-202-8/+10
| | | | | | [fix GH-541] Patch by @arthurnn git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * Added missing reference of GitHubhsbt2015-11-201-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http.rb: Fixed regression for Net::HTTP::PUT with "Expect-100"hsbt2015-11-203-3/+25
| | | | | | | header. * test/net/http/test_http.rb: added test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/http.rb: set hostname before call ossl_ssl_set_session.hsbt2015-11-202-2/+7
| | | | | | [Bug #11401][ruby-core:70152][fix GH-964] Patch by @mkarnebeek git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* enc-unicode.rb: --headernobu2015-11-201-12/+98
| | | | | | | * tool/enc-unicode.rb: add --header option to emit name2ctype.h directly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e