aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mkmf.rb: suppress warningsnobu2015-06-171-0/+1
| | | | | | | * lib/mkmf.rb (try_func): suppress implicit-function-declaration warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-06-17svn2015-06-171-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mkmf.rb: suppress warningsnobu2015-06-171-2/+2
| | | | | | | * lib/mkmf.rb (try_func, try_var): suppress unused-but-set-variable warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix unbalanced square bracketskazu2015-06-162-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typo [ci skip]kazu2015-06-161-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/rbconfig/sizeof/extconf.rb: Check several types defined in C99akr2015-06-163-2/+25
| | | | | | | | | | and x86_64 ABI. * template/sizes.c.tmpl: Relax a pattern for types. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* date_parse.c: use ALLOCVnobu2015-06-161-6/+16
| | | | | | | * ext/date/date_parse.c (s3e, date_zone_to_diff, parse_ddd_cb): use ALLOCV instead of ALLOCA get rid of stack overflow. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* date_strptime.c: use ALLOCVnobu2015-06-161-1/+3
| | | | | | | * ext/date/date_strptime.c (read_digits): use ALLOCV instead of ALLOCA get rid of stack overflow. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_nonblock.rb: use assert_predicatenobu2015-06-161-2/+2
| | | | | | | | * test/socket/test_nonblock.rb (test_recv_nonblock_no_exception), (test_recvfrom_nonblock_no_exception): use assert_predicate for failure messages. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_nonblock.rb: fix failure on OSXnobu2015-06-161-1/+1
| | | | | | | * 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
* add ref to [Bug #10852].ko12015-06-161-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/objspace/test_objspace.rb: relax pattern because uncollectibleko12015-06-162-1/+6
| | | | | | | | 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
* NEWS: update for socket API changes [ci skip]normal2015-06-151-3/+9
| | | | | | [Feature #11242] [Feature #11229] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* socket: allow explicit buffer for recv and recv_nonblocknormal2015-06-157-20/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-16svn2015-06-151-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* socket: allow exception-free nonblocking sendmsg/recvmsgnormal2015-06-158-19/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* proc.c: reduce type checksnobu2015-06-151-8/+6
| | | | | | | * 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
* * lib/set.rb: Make Set#each and SortedSet#each generate a sizedknu2015-06-153-2/+37
| | | | | | | | | 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
* * lib/net/http.rb (Net::HTTP#connect): use connect_nonblock andnaruse2015-06-152-1/+20
| | | | | | io/wait. fix GH-899 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* envutil.rb: show failure descriptionnobu2015-06-151-2/+2
| | | | | | | * 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
* envutil.rb: no signal description iff possiblenobu2015-06-151-1/+2
| | | | | | | * 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
* raddrinfo.c: suppress a warningnobu2015-06-141-0/+2
| | | | | | | * 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
* call_without_gvl.c: no sys/select.hnobu2015-06-141-1/+0
| | | | | | | * 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
* test_require.rb: wait loadignobu2015-06-141-1/+1
| | | | | | | * 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
* * properties.svn2015-06-140-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (thread_start_func_2): don't interrupt when last thread exitkosaki2015-06-145-1/+72
| | | | | | | | | | | | 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-15svn2015-06-141-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/pathname/lib/pathname.rb (descend): Blockless form supported.akr2015-06-144-2/+36
| | | | | | | | | (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
* * test/ruby/test_require.rb (TestRequire#test_loading_fifo_threading): omit onusa2015-06-141-1/+1
| | | | | | | Windows. the platform does not support fifo. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* show pathname of failed file.akr2015-06-141-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* raddrinfo.c: suppress a warningnobu2015-06-141-1/+1
| | | | | | | * 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
* test_prime.rb: descriptive assertionsnobu2015-06-141-32/+32
| | | | | | | * 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
* * time.c (time_getlocaltime): [DOC] Add examples of valid utc_offsetakr2015-06-142-0/+12
| | | | | | | | | 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
* [DOC]akr2015-06-141-2/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/raddrinfo.c (parse_numeric_port): Detectakr2015-06-142-2/+39
| | | | | | | | | | | | | 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
* * enum.c (enum_chunk_while): New method Enumerable#chunk_while.akr2015-06-144-0/+82
| | | | | | | | [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
* Add ticket numbers.akr2015-06-141-0/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* file.c: open without gvlnobu2015-06-145-5/+42
| | | | | | | * 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
* * tool/runruby.rb: just remove the lines of RUBY_VERSION check and raiseusa2015-06-142-1/+7
| | | | | | | | 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
* * lib/rexml/source.rb (REXML::IOSource#scan): Fix a typo inkou2015-06-142-1/+7
| | | | | | | | | | | | 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
* * lib/rexml/attlistdecl.rb (REXML::AttlistDecl): Fix a typo inkou2015-06-142-1/+7
| | | | | | | | | | | | 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
* * test/test_unicode_normalize.rb: get rid of a warning.usa2015-06-141-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb: add test for IO.binread fd leak.eregon2015-06-132-0/+9
| | | | | | See r50881. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_s_binread): close fd if seek offset is invalid.eregon2015-06-132-1/+14
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/lib/leakchecker.rb (check): refactor.eregon2015-06-132-5/+11
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/lib/leakchecker.rb: Return false for no leaks.eregon2015-06-132-1/+6
| | | | | | Otherwise the GC could run for nothing. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/delegate.rb: [DOC] Update SimpleDelegator example. [ci skip]eregon2015-06-132-5/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-06-14svn2015-06-131-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/test_cmath.rb: Adding parens to suppress warnings.gogotanaka2015-06-131-24/+24
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c: simplify rb_io_modestr_fmodenobu2015-06-131-7/+3
| | | | | | | | * 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