summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-06-16test_nonblock.rb: fix failure on OSXnobu
* test/socket/test_nonblock.rb (test_recvfrom_nonblock_no_exception): no destination to already connected socket. fix failure on OSX. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-16add ref to [Bug #10852].ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-16* test/objspace/test_objspace.rb: relax pattern because uncollectibleko1
flag and marked flag can be false at major GC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-15NEWS: update for socket API changes [ci skip]normal
[Feature #11242] [Feature #11229] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-15socket: allow explicit buffer for recv and recv_nonblocknormal
This reduces GC overhead and makes the API more consistent with IO#read and IO#read_nonblock. * ext/socket/basicsocket.c (bsock_recv): document outbuf * ext/socket/unixsocket.c (unix_recvfrom): ditto * ext/socket/init.c (rsock_strbuf, recvfrom_locktmp): new functions (rsock_s_recvfrom): support destination buffer as 3rd arg (rsock_s_recvfrom_nonblock): ditto * string.c (rb_str_locktmp_ensure): export for internal ext * test/socket/test_nonblock.rb: test recv_nonblock * test/socket/test_unix.rb: test recv [ruby-core:69543] [Feature #11242] Benchmark results: user system total real alloc 0.130000 0.280000 0.410000 ( 0.420656) extbuf 0.100000 0.220000 0.320000 ( 0.318708) -------------------8<-------------------- require 'socket' require 'benchmark' nr = 100000 msg = ' ' * 16384 size = msg.bytesize buf = ' ' * size UNIXSocket.pair(:DGRAM) do |a, b| Benchmark.bmbm do |x| x.report('alloc') do nr.times do b.send(msg, 0) a.recv(size, 0) end end x.report('extbuf') do nr.times do b.send(msg, 0) a.recv(size, 0, buf) end end end end git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-15* 2015-06-16svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-15socket: allow exception-free nonblocking sendmsg/recvmsgnormal
As documented before, exceptions are expensive and IO::Wait*able are too common in socket applications to be the exceptional case. Datagram sockets deserve the same API which stream sockets are allowed with read_nonblock and write_nonblock. Note: this does not offer a performance advantage under optimal conditions when both ends are equally matched in speed, but it it does make debug output cleaner by avoiding exceptions whenever the receiver slows down. * ext/socket/ancdata.c (bsock_sendmsg_internal, bsock_recvmsg_internal): support "exception: false" kwarg * ext/socket/init.c (rsock_s_recvfrom_nonblock): ditto * ext/socket/init.c (rsock_s_recvfrom_nonblock): use rsock_opt_false_p * ext/socket/socket.c (sock_connect_nonblock): ditto * ext/socket/rubysocket.h (rsock_opt_false_p): new function * ext/socket/basicsocket.c (bsock_recv_nonblock): update rdoc * ext/socket/udpsocket.c (udp_recvfrom_nonblock): ditto * test/socket/test_nonblock.rb: new tests [ruby-core:69542] [Feature #11229] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-15proc.c: reduce type checksnobu
* proc.c (rb_mod_define_method): no needs to check same type twice. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-15* lib/set.rb: Make Set#each and SortedSet#each generate a sizedknu
enumerator. [GH-931] by kachick (Kenichi Kamiya) * test/test_set.rb: Import tests from Set into SortedSet. [GH-931] by kachick (Kenichi Kamiya) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-15* lib/net/http.rb (Net::HTTP#connect): use connect_nonblock andnaruse
io/wait. fix GH-899 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-15envutil.rb: show failure descriptionnobu
* test/lib/envutil.rb (assert_separately): always show failure description. signals are not available on Windows. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-15envutil.rb: no signal description iff possiblenobu
* test/lib/envutil.rb (FailDesc): show signal description only if it is available, or nothing if not killed by a signal. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14raddrinfo.c: suppress a warningnobu
* ext/socket/raddrinfo.c (parse_numeric_port): used only when inet_pton() is available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14call_without_gvl.c: no sys/select.hnobu
* ext/-test-/gvl/call_without_gvl/call_without_gvl.c: sys/select.h is included by ruby/define.h if available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14test_require.rb: wait loadignobu
* test/ruby/test_require.rb (test_loading_fifo_threading): wait until the main thread blocks by loading. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14* properties.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14* thread.c (thread_start_func_2): don't interrupt when last thread exitkosaki
unless main thread is already exited. Otherwise main thread could be wrongly interrupted when it uses rb_thread_call_without_gvl(). Patch by Takehiro Kubo. [Bug #11237][ruby-dev:49044][GH-898] * test/-ext-/gvl/test_last_thread.rb: new test for the above fix. * ext/-test-/gvl/call_without_gvl/call_without_gvl.c: new ext for the above test. * ext/-test-/gvl/call_without_gvl/extconf.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14* 2015-06-15svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14* ext/pathname/lib/pathname.rb (descend): Blockless form supported.akr
(ascend): Ditto. [ruby-core:68820] [Feature #11052] Patch by Piotr Szotkowski. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14* test/ruby/test_require.rb (TestRequire#test_loading_fifo_threading): omit onusa
Windows. the platform does not support fifo. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14show pathname of failed file.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14raddrinfo.c: suppress a warningnobu
* ext/socket/raddrinfo.c (parse_numeric_port): explict cast to suppress a warning for precision losing conversion. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14test_prime.rb: descriptive assertionsnobu
* test/test_prime.rb: use more descriptive assertions for better failure meessages, instead of simple assert. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14* time.c (time_getlocaltime): [DOC] Add examples of valid utc_offsetakr
formats. [ruby-core:68306] [Misc #10905] Patch by Charles Korn. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14[DOC]akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14* ext/socket/raddrinfo.c (parse_numeric_port): Detectakr
port overflow. (numeric_getaddrinfo): Use parse_numeric_port. numeric_getaddrinfo fails if port is too big now. This makes rb_getaddrinfo invokes the real getaddrinfo() on such condition. This change is related to [ruby-core:69355] [Bug #11179]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14* enum.c (enum_chunk_while): New method Enumerable#chunk_while.akr
[ruby-core:67738] [Feature #10769] proposed by Tsuyoshi Sawada. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14Add ticket numbers.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14file.c: open without gvlnobu
* file.c (rb_file_load_ok): try opening file without gvl not to lock entire process. [Bug #11060] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14* tool/runruby.rb: just remove the lines of RUBY_VERSION check and raiseusa
instead of replacing the check to `true`, for getting rid of a warning `possibly useless use of true in void context`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14* lib/rexml/source.rb (REXML::IOSource#scan): Fix a typo inkou
document. [fix GH-934] [ci skip] Patch by Anton Davydov. Thanks!!! warrent warrant ? git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14* lib/rexml/attlistdecl.rb (REXML::AttlistDecl): Fix a typo inkou
document. [fix GH-934] [ci skip] Patch by Anton Davydov. Thanks!!! for seeable foreseeable + git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14* test/test_unicode_normalize.rb: get rid of a warning.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13* test/ruby/test_io.rb: add test for IO.binread fd leak.eregon
See r50881. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13* io.c (rb_io_s_binread): close fd if seek offset is invalid.eregon
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13* test/lib/leakchecker.rb (check): refactor.eregon
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13* test/lib/leakchecker.rb: Return false for no leaks.eregon
Otherwise the GC could run for nothing. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13* lib/delegate.rb: [DOC] Update SimpleDelegator example. [ci skip]eregon
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13* 2015-06-14svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13* test/test_cmath.rb: Adding parens to suppress warnings.gogotanaka
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13io.c: simplify rb_io_modestr_fmodenobu
* io.c (io_encname_bom_p): needs len always. * io.c (rb_io_modestr_fmode): check BOM only after a colon. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13thread.c: indentnobu
* thread.c (rb_thread_inspect): adjust indent. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13On Windows File::Stat#ino always returned 0, butnaruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13move a new feature to correct sectionnaruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13add news about inode for Windows [Feature #11216]naruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13* file.c (rb_stat_ino): get inode from the interval of struct st.naruse
* win32/win32.c (stati64_set_inode): get nFilIndexHigh/Low, and set it to the interval of struct st as inode. * win32/win32.c (stati64_set_inode_handle): call stati64_set_inode. * win32/win32.c (rb_w32_fstati64): call stati64_set_inode_handle. * win32/win32.c (stati64_handle): call stati64_set_inode. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13mark thread name stringnaruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13add Thread.name and Thread.name= docs Feature #11251 [ci skip]naruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13* ext/io/console/depend (.list.chksum): revert a part of r50859, becauseusa
it was not mentioned at its commit log and it caused a build error on Windows ($(MAKE) is already quoted). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13sleep thread until assertionsnaruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e