Activity
From 08/14/2018 to 08/20/2018
08/20/2018
- 11:48 PM Revision aba0929a (git): cont.c (struct rb_fiber_struct): bitfields for trasnferred and status
- On 32-bit x86, this reduces the struct from 836 to 832 bytes and
brings us down to 13 (64-byte) cachelines (from 14).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
11:29 PM Misc #15014 (Closed): thread.c: use rb_hrtime_scalar for high-resolution time operations
- thread.c: use rb_hrtime_t scalar for high-resolution time operations
Relying on "struct timespec" was too annoying API-wise and
used more stack space. "double" was a bit wacky w.r.t rounding
in the past, so now we'll switch to usin... -
11:14 PM Feature #15010: Reduce allocation for rest parameters
- normalperson (Eric Wong) wrote:
> > Added rb_ary_clear_m (suggestion for a better name will be
> ...
What about rb_ary_clear_head? (or rb_ary_behead :)
-
10:15 PM Feature #15010: Reduce allocation for rest parameters
- Thank you, too. Two points:
First, the prefix `_m` is often used for an entry function of Ruby-level method that is passed to `rb_define_method`. Though it is just an internal function, it would be better to avoid the prefix. How a... -
07:04 PM Feature #15010: Reduce allocation for rest parameters
- chopraanmol1@gmail.com wrote:
> normalperson (Eric Wong) wrote:
> > Cool! It's probably worth implementing something like
> > rb_ary_shift_m (but without the return value) to avoid looping
> > on rb_ary_shift.
> Added rb_ary_... -
10:27 AM Feature #15010: Reduce allocation for rest parameters
- normalperson (Eric Wong) wrote:
> Cool! It's probably worth implementing something like
> ...
Added rb_ary_clear_m (suggestion for a better name will be appreciated) with suggested changes.
mame (Yusuke Endoh) wrote:
> Some oth... -
06:42 AM Feature #15010: Reduce allocation for rest parameters
- chopraanmol1@gmail.com wrote:
> Yes, it can be further optimized for keyword argument and argument setup for the block. I'll modify the patch in a day or two.
Cool! It's probably worth implementing something like
rb_ary_shift_m (... -
06:29 AM Feature #15010: Reduce allocation for rest parameters
- mame (Yusuke Endoh) wrote:
> Some other functions in vm_args.c also use rb_ary_dup. There may be more room to optimize.
Yes, it can be further optimized for keyword argument and argument setup for the block. I'll modify the patch in... -
05:13 AM Feature #15010: Reduce allocation for rest parameters
- Looks good to me. Though destructive operation to the rest array may make the source code unclear, performance is more important in this case, I think.
Some other functions in vm_args.c also use rb_ary_dup. There may be more room to... -
10:23 PM Bug #14966 (Closed): 2.5 branch - Appveyor failures - backport missed line
-
10:17 PM Bug #14966: 2.5 branch - Appveyor failures - backport missed line
- Please see [GitHub PR 1939](https://github.com/ruby/ruby/pull/1939), which passed.
I guess a look at ruby_2_4 is next, as it's also failing... -
09:34 PM Bug #15013 (Closed): thread_pthread.c: reinitialize ubf_list at fork
- Applied in changeset trunk|r64485.
----------
thread_pthread.c: reinitialize ubf_list at fork
It's possible for the ubf_list_head to be populated with dead
threads at fork or the ubf_list_lock to be held, so reinitialize
both at startu... -
09:01 PM Bug #15013 (Closed): thread_pthread.c: reinitialize ubf_list at fork
- thread_pthread.c: reinitialize ubf_list at fork
It's possible for the ubf_list_head to be populated with dead
threads at fork or the ubf_list_lock to be held, so reinitialize
both at startup.
And while we're at it, use a static i... - 09:34 PM Revision 39c64117 (git): thread*.c: avoid unnecessary initialization for list_for_each_safe
- According to r52446, it is only necessary for the current item (@i),
not the `@nxt` parameter for list_for_each_safe.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 09:34 PM Revision 17e4aff2 (git): thread_pthread.c: reinitialize ubf_list at fork
- It's possible for the ubf_list_head to be populated with dead
threads at fork or the ubf_list_lock to be held, so reinitialize
both at startup.
And while we're at it, use a static initializer at startup
to save a library call and kill s... - 08:45 PM Revision ce48b558 (git): test/socket/test_socket.rb (timestamp_retry_rw): IO.select before recvmsg
- CI failures are still happening from these tests, but try
to break out of it earlier instead of holding up the job.
[Bug #14898]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
08:12 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- eregontp@gmail.com wrote:
> normalperson (Eric Wong) wrote:
> > (*) Along those lines, I think the "lock" idiom for GVL is not
> > ideal for performance (kosaki rewrote the GVL for 1.9.3 to
> > optimize for contention as a result... -
01:30 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- normalperson (Eric Wong) wrote:
> (*) Along those lines, I think the "lock" idiom for GVL is not
> ...
I don't follow, which data structures would the scheduler protect?
Internal VM data structures but not e.g. Ruby Hash?
> Note:... -
07:52 PM Feature #15006: [PATCH] io.c: use copy_file_range with every types of files
- jean.boussier@gmail.com wrote:
> However from my understanding, contrary to `sendfile` and
> `splice`, `copy_file_range` has no file type restriction, it
> should be able to copy from and to sockets and pipes just
> fine.
That is... -
04:45 PM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
- normalperson (Eric Wong) wrote:
> Thank you for taking the time to do this!
> ...
Initial pass had that, but I decided to line up with recommendations from the guidelines. Not great for human parsing, especially when nested with `NORET... -
07:32 AM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
- Thank you for taking the time to do this!
> The GCC specific [cold](https://gcc.gnu.org/onlinedocs/gcc-4.6.4/gcc/Function-Attributes.html) function attribute works in the following way (from GCC docs):
Since it's gcc (and clang); ... -
01:19 AM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
- Interesting.
Re: label attributes. JFYI I once tried them https://github.com/ruby/ruby/pull/1805/files
(answer, bitblt, and all the trace_* instructions are marked cold.)
It did change generated binary to arrange branches, but I saw... -
03:48 PM Revision 12f624b6 (git): Try 4 times for WIN32OLE specs
- * They seem to fail a lot on:
http://mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-trunk/recent.html
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
03:41 PM Revision a8d6ba1f (git): Revert r64471
- * This reverts commit 9ab04897bd06767f773b35c6958a0551981093aa:
"don't run specs add at r64409 on Windows"
* It doesn't seem to help:
http://mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-trunk/recent.html
git-svn-id: svn+ssh://... - 03:34 PM Revision e8222695 (git): * 2018-08-21
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:33 PM Revision 023537f8 (git): Remove extra semicolon
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:21 PM Misc #15012: Testing on latest version gcc on Travis CI
- If you want to imagine how gcc-N and clang test cases work on both linux and osx of Travis CI, I can share this project's case.
https://travis-ci.org/trinityrnaseq/trinityrnaseq
https://github.com/trinityrnaseq/trinityrnaseq/blob/mas... -
02:30 PM Misc #15012: Testing on latest version gcc on Travis CI
- The demerit is
* The Travis test running time could be longer than current one. But maybe not so long time because those test cases are run in parallel.
* I am not sure whether the "ppa:ubuntu-toolchain-r/test" repository [1] shown ... -
02:23 PM Misc #15012 (Closed): Testing on latest version gcc on Travis CI
- Ruby's Travis CI [1] is running on gcc 4.8.4 as the default behavior of Travis gcc setting.
Right now gcc's latest version is 8.
Though it is important to test on the old version gcc-4.8, also it is meaningful to test on the latest ver... -
08:24 AM Revision d6bfef79 (git): Update link to Email address specification
- The current link leads to 404, I updated to the actual one.
[Fix GH-1929] [ci skip]
Author: Nikolay Belov <travelerspb@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:17 AM Misc #15011 (Closed): [PATCH] thread_pthread.c: use eventfd instead of pipe on Linux
- thread_pthread.c: use eventfd instead of pipe on Linux
Based on r64478, any regular user creating more than 1024 pipes
on Linux will end up with tiny pipes with only a single page
capacity. So avoid wasting user resources and use l... -
06:12 AM Bug #14898: test/lib/test/unit/parallel.rb: TestSocket#test_timestamp stuck sometimes
- ko1@atdot.net wrote:
> Bug #14898: test/lib/test/unit/parallel.rb: TestSocket#test_timestamp stuck sometimes
> https://bugs.ruby-lang.org/issues/14898#change-73373
Still not solved. This might be a similar issue to r64478 with
to... - 01:43 AM Revision 332b302f (git): spec/ruby/core/io/select_spec.rb: workaround stuck IO.select
- Under pipe page memory pressure on Linux, a pipe may only be
created with a single buffer[1]. And as of Linux v4.18, the
fs/pipe.c::pipe_poll callback does not account for merging
done in fs/pipe::pipe_write; only the number of usable b...
08/19/2018
- 11:36 PM Revision 25d274b3 (git): thread_sync.c (rb_condvar_initialize): remove extra semicolon
- Oops :x
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
11:12 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- eregontp@gmail.com wrote:
> normalperson (Eric Wong) wrote:
> > "git bisect" points to r63498 ("thread_pthread.c: enable
> > thread cache by default"), which is HIGHLY unexpected.
>
> So it seems it doesn't happen in Ruby <= 2.5... -
09:42 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- normalperson (Eric Wong) wrote:
> r64467 seems to make CI happy, at least
Great!
> ...
I could also verify it fails before your commit, and passes after with:
taskset -c 1 mspec-run -R1000 library/conditionvariable/wait_spe... -
07:52 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- Eric Wong wrote:
> Fwiw, I can still reproduce the failures with low timeouts:
>
> ```
> diff --git a/thread_pthread.c b/thread_pthread.c
> index 2fd60ddd4a..e8da3ee9c2 100644
> --- a/thread_pthread.c
> +++ b/thread_pthread.c
>... -
10:04 AM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- eregontp@gmail.com wrote:
> I think we need to give some thinking on this,
> and I don't want to stress you to fix it to fix the build.
> (although this should be solved soon IMHO, latest before the next preview/RC)
It needs to be... -
12:13 AM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- normalperson (Eric Wong) wrote:
> Maybe wishful thinking, but r64464 might be the right fix.
Seems it's not yet fully fixed unfortunately:
http://ci.rvm.jp/results/trunk_clang_39@silicon-docker/1236189
http://ci.rvm.jp/results/tru... - 10:20 PM Revision d9cb9017 (git): thread_sync.c (rb_mutex_sleep): disable interrupt checking in ensure
- This is needed to reliably fix ConditionVariable#wait on Thread#kill
[Bug #14999] because there is still a chance an interrupt could fire
and prevent lock acquisition after an ensure statement.
Arguably, rb_mutex_lock itself should be u... - 08:40 PM Revision 6056dae7 (git): thread.c (rb_thread_fd_select): fix off-by-one with sigwait_fd
- select(2) needs the nfds argument to be one higher than the
largest FD in the sets :x
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 08:16 PM Revision 883422b1 (git): thread_sync.rb (rb_condvar_wait): golf out unnecessary variables
- GCC is smart enough to optimize these away, but my attention
span is too short :{
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 08:16 PM Revision 6343dd4a (git): * 2018-08-20
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 08:16 PM Revision d167aae2 (git): test/ruby/test_io.rb (test_select_leak): quiet unused variable warning
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
04:25 PM Feature #15010 (Closed): Reduce allocation for rest parameters
- Currently multiple arrays are allocated while making a call to method with rest parameter.
E.g.
~~~
def rest_method(*args) #-> This will create 2 arrays
end
def post_method(*args,last) #-> This will create 3 arrays
end
~~~
... -
01:59 PM Feature #15009 (Closed): Add negotiated SSL protocol and cipher to Net::HTTP debug output
- This makes is easier to verify what Ruby has negotiated with the server. An example of why you'd want to double check; for credit card payment data the PCI DSS [mandates](https://blog.pcisecuritystandards.org/are-you-ready-for-30-june-20...
-
01:25 PM Revision 9ab04897 (git): don't run specs add at r64409 on Windows
- Maybe it breaks http://mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-trunk/log/20180817T095734Z.fail.html.gz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:23 PM Revision d5c112ff (git): select() on all platforms for Socket#recvmsg_nonblock spec
- * The specs above already do that, and Solaris needs it too:
https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable10x/ruby-trunk/log/20180819T111806Z.fail.html.gz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64470 b2dd03c8-39d... -
01:55 AM Revision ed32e526 (git): NEWS: categorized new entries all
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
01:33 AM Revision b97e215b (git): Fix a typo [ci skip]
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
12:38 AM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
- Eregon (Benoit Daloze) wrote:
> What is "original chunky PR" VS "then trunk"?
> ...
First one is from the changeset in https://github.com/ruby/ruby/pull/1922, but it's gotten too large to review, hence the split into smaller incrementa... -
12:23 AM Misc #15007: Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
- What is "original chunky PR" VS "then trunk"?
Which one is original and which one with your patch?
The first one seems better. - 12:01 AM Revision d2afeb94 (git): thread_pthread.c: reset timeslice delay when uncontended
- This matches the behavior of old timer thread more closely
and seems to fix [Bug #14999] when limited to a single CPU.
I cannot reproduce the error on a multi-core system unless
I use schedtool to force affinity to a single CPU:
schedto... - 12:01 AM Revision 77038f9f (git): Revert "thread_sync.c (rb_mutex_sleep): skip interrupt check before sleep"
- This reverts commit 2e420b8b99db4a5b81e2deda1ca386d59ad6bcba (r64464)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
08/18/2018
-
11:49 PM Revision f6f54d77 (git): Guard spec which only works on Linux
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
11:17 PM Misc #15007 (Assigned): Let all Init_xxx and extension APIs frequently called from init code paths be considered cold
- References Github PR https://github.com/ruby/ruby/pull/1934
### Why?
An incremental extraction from PR https://github.com/ruby/ruby/pull/1922, specifically addressing the feedback from Yui Naruse in https://github.com/ruby/ruby/pul... -
09:22 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- eregontp@gmail.com wrote:
> It failed for http://ci.rvm.jp/results/trunk_gcc6@silicon-docker/1235550
Maybe wishful thinking, but r64464 might be the right fix.
Time for Me#sleep -
07:35 PM Bug #14999 (Closed): ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- Applied in changeset commit:ruby-git|c742050ea5fd30108f913383c0fafc4614adb04c.
----------
Revert r64441
* This reverts commit 647fc1227a4146ecbfeb0d59358abc8d99cd8ae6:
"thread_sync.c (rb_mutex_synchronize): only unlock if we own the ... -
03:56 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- It failed for http://ci.rvm.jp/results/trunk_gcc6@silicon-docker/1235550
-
01:54 PM Bug #14999 (Open): ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
-
01:54 PM Bug #14999 (Closed): ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- Applied in changeset trunk|r64448.
----------
Revert r64441
* This reverts commit 647fc1227a4146ecbfeb0d59358abc8d99cd8ae6:
"thread_sync.c (rb_mutex_synchronize): only unlock if we own the mutex"
* Let's try to preserve the semantics... -
01:50 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- OK, I'll revert r64441 since I think we should preserve the semantics of always being locked inside Mutex#synchronize, even if an exception interrupts ConditionVariable#wait.
Let's keep thinking about how to implement that correctly.
... -
11:42 AM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- eregontp@gmail.com wrote:
> What was wrong with the first patch?
I still saw CI failures with it:
http://ci.rvm.jp/results/trunk_gcc7@silicon-docker/1234097
In retrospect, it could've also been fixed with [Feature #15002]
>... -
11:13 AM Bug #14999 (Open): ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
-
11:05 AM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- What was wrong with the first patch?
It looks good from a quick glance, although indeed it doesn't deal with Mutex_m.
Maybe Thread.handle_interrupt(Object => :on_blocking) (or the equivalent in C) would help?
> No good. Now testing:... -
06:32 AM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- Eric Wong wrote:
> Committed a version which only avoids switching on r64436
> We'll see if CI alerts are quieter, now.
No good. Now testing:
https://80x24.org/spew/20180818062657.3424-1-e@80x24.org/raw
(should commit when done ... -
04:42 AM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- Eric Wong wrote:
> eregontp@gmail.com wrote:
> > @normalperson I added the specs in r64409.
> > However I just saw that the spec failed once on Ubuntu:
> > https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu/ruby-trunk/log/201808... -
12:32 AM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- eregontp@gmail.com wrote:
> @normalperson I added the specs in r64409.
> However I just saw that the spec failed once on Ubuntu:
> https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu/ruby-trunk/log/20180817T213003Z.fail.html.gz
... - 08:04 PM Revision 2e420b8b (git): thread_sync.c (rb_mutex_sleep): skip interrupt check before sleep
- We do not want to risk switching threads before going to sleep
because it can cause unexpected wakeups and put us in an
unexpected state when used with ConditionVariable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64464 b2dd03c8-... -
07:37 PM Revision 17d20383 (git): Special case for Solaris 11x on RubyCI
- * Where localhost is an alias but not the primary name of 127.0.0.1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:37 PM Revision 4dc1c725 (git): Be more flexible in the protocol value returned by getaddrinfo()
- * Only Solaris 2.10 i386 and Windows seem to return 0 it and other
Solaris seem to fill the value.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:37 PM Revision 08bca6b6 (git): Adapt pack_sockaddr_in specs for Solaris
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
07:36 PM Revision 10f642ba (git): Use ftp for the service in getaddrinfo/getnameinfo/getservbyname specs
- * Solaris cannot resolve 'http' but can resolve 'ftp'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:36 PM Revision 61a33fa8 (git): Simplify to a more standardized Socket SCM constant in specs
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
07:36 PM Revision 686a4e24 (git): Add guards for Solaris for socket specs
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
07:36 PM Revision 946c0808 (git): Adapt spec to consider Solaris
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
07:35 PM Revision 08563f2e (git): Use 127.0.0.1 instead of localhost in Addrinfo specs
- * Solaries doesn't support Addrinfo.getaddrinfo('localhost', 80),
but supports Addrinfo.getaddrinfo('127.0.0.1', 80).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:35 PM Revision 3405ea62 (git): Accept TypeError for Socket#getnameinfo
- * Happens when VALIDATE_SOCKLEN() actually checks the length such as on
FreeBSD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:35 PM Revision 7b37c8cd (git): Always set autoclose=false for IO.for_fd fds
- * I believe this should be default behavior, see [Feature #2250].
* Now make test-spec MSPECOPT='-R100 spec/ruby/library/socket' works fine.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 07:35 PM Revision bf4276b4 (git): * properties.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
07:35 PM Revision 0cd63557 (git): Re-add socket specs
- * This reverts commit df9521fd043df1fb862e46f9b1af83223f16eb2d:
"Remove failing spec files"
* Platform guards follow in the next commits.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 07:03 PM Revision bfdf6cde (git): Revert "thread.c (sleep_*): check interrupt before changing th->status"
- This reverts commit 9e59487a38d914275bedcde723923f22b3779e59 (r64449)
More (but different) CI failures I can't reproduce locally...
http://ci.rvm.jp/results/trunk-test@ruby-sky3/1235951
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk... - 06:29 PM Revision 49a5f2c5 (git): * 2018-08-19
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 06:29 PM Revision 9e59487a (git): thread.c (sleep_*): check interrupt before changing th->status
- Having threads switch before we sleep can cause applications
to misread the state of the thread. Now, we are consistent
with blocking_region_begin behavior and change th->status
AFTER checking interrupts.
Maybe this can fix [Bug #15002... -
05:59 PM Feature #14609: Let `Kernel#p` without an argument print the receiver
- I don't mind, personally. To me, the biggest improvement was
that we could omit doing:
require 'pp'
;)
Since I did that a lot in my code. (I love pp; I think I use it
more than just p)
I personally have not been using (... -
05:45 PM Feature #8661: Add option to print backtrace in reverse order (stack frames first and error last)
- I think I agree with mame - perhaps it should be reverted for now.
There was another ruby hacker from japan who wrote, some time ago
(a year or two?), that he was confused about it too; I don't remember
where it was but I think it w... -
04:17 PM Feature #2250: IO::for_fd() objects' finalization dangerously closes underlying fds
- Here is my opinion, from the experience of chasing many IO.for_fd bugs due to this behavior.
I agree with the reporter, it doesn't make sense to autoclose a fd which is not owned (for_fd didn't create it, something else did, and it's ex... -
01:52 PM Revision c742050e (git): Revert r64441
- * This reverts commit 647fc1227a4146ecbfeb0d59358abc8d99cd8ae6:
"thread_sync.c (rb_mutex_synchronize): only unlock if we own the mutex"
* Let's try to preserve the semantics of always being locked inside
Mutex#synchronize, even if an... -
12:35 PM Revision b5b5b28c (git): Temporary revert "process.c: dead code when no SIGCHLD"
- This reverts commit r64407.
Maybe it breaks http://mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-trunk/log/20180817T095734Z.fail.html.gz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
09:56 AM Revision 3e1a6fee (git): NEWS: quote false [ci skip]
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
09:53 AM Revision b6eb3fcb (git): NEWS: converted to Markdown [ci skip]
- * NEWS: Converted to Markdown format, from (wrongly) Markdown-mixed
RDoc format.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
09:22 AM Feature #15002: [PATCH] thread.c (sleep_*): reduce the effect of spurious interrupts
- takashikkbn@gmail.com wrote:
> Thanks to deal with it. Actually test-all with --jit-wait is
> running successfully on my Wercker CI and ko1's
> trunk-mjit-wait for now
> http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker, but
... -
09:07 AM Feature #15002 (Closed): [PATCH] thread.c (sleep_*): reduce the effect of spurious interrupts
- Applied in changeset trunk|r64444.
----------
thread.c (sleep_*): reduce the effect of spurious interrupts
Spurious interrupts from SIGCHLD cause Mutex#sleep (via
ConditionVariable#wait) to return early and breaks some use
cases. Sinc... -
07:51 AM Feature #15002: [PATCH] thread.c (sleep_*): reduce the effect of spurious interrupts
- Thanks to deal with it. Actually test-all with --jit-wait is running successfully on my Wercker CI and ko1's trunk-mjit-wait for now http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker, but as long as it passes the tests on your envi...
- 09:07 AM Revision fe2f89af (git): thread.c (sleep_*): reduce the effect of spurious interrupts
- Spurious interrupts from SIGCHLD cause Mutex#sleep (via
ConditionVariable#wait) to return early and breaks some use
cases. Since these are outside the programs's control with
MJIT, we will only consider pending interrupts (e.g. those
fr... -
08:35 AM Bug #14416: Net::POPMail methods modify frozen literal when using default arg
- ruby_2_5 r64443 merged revision(s) 62099.
-
08:35 AM Revision 3993fbb5 (git): merge revision(s) 62099: [Backport #14416]
- net/pop: make modified strings mutable
Thanks to Michael Zimmerman for the bug report
* lib/net/pop.rb: make modified strings mutable
[ruby-core:85210] [Bug #14416]
* test/net/pop/test_pop.rb: new test... -
07:26 AM Revision 3bee3527 (git): [DOC] Fix indent [ci skip]
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 06:33 AM Revision 647fc122 (git): thread_sync.c (rb_mutex_synchronize): only unlock if we own the mutex
- If an exception is raised inside Mutex#sleep (via ConditionVariable#wait),
we cannot guarantee we can own the mutex in the ensure callback.
However, who owns the mutex at that point does not matter. What
matters is the Mutex is usable ... - 06:05 AM Revision 6e0d69e4 (git): Revert "thread_sync.c (do_sleep): avoid thread-switch/interrupt check"
- This reverts commit d7ddbff2954ba22b71bdfeba4b94e1c4fb91efb0 (r64436)
Seems worthless at preventing CI failures
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
05:20 AM Bug #14868: [PATCH] process.c (ruby_fork_ruby): fix race in signal handling
- ruby_2_5 r64439 merged revision(s) 63741.
-
05:20 AM Revision c66c5f3c (git): merge revision(s) 63741: [Backport #14868]
- process.c (ruby_fork_ruby): fix race in signal handling
We must block signals before stopping timer-thread, otherwise
signal handing may be delayed until (and if) another signal
is received after timer-thread is ... -
05:04 AM Bug #14865: Raising exception in c_return event hook causes infinite loop
- ruby_2_5 r64438 merged revision(s) 63727.
-
05:04 AM Revision cc371cc0 (git): merge revision(s) 63727: [Backport #14865]
- vm.c: fix infinite loop
* vm.c: use EXEC_EVENT_HOOK_AND_POP_FRAME. While exception handling, if an exception
is raised in hooks, need to pop current frame and raise this raised exception by hook.
[ruby-dev:505... -
04:40 AM Bug #14856: [PATCH] lib/drb/extservm.rb (service): do not return `false'
- ruby_2_5 r64437 merged revision(s) 63698.
-
04:40 AM Revision 05d74883 (git): merge revision(s) 63698: [Backport #14856]
- lib/drb/extservm.rb (service): do not return `false'
invoke_service_command may set entries in @servers to `false',
making it incompatible with the intended use of the
safe navigation operator.
This caus... -
04:30 AM Misc #14981: DevelopersMeeting20180913Japan
- * [Feature #14609] `Kernel#p` without args shows the receiver
- 04:24 AM Revision d7ddbff2 (git): thread_sync.c (do_sleep): avoid thread-switch/interrupt check
- Calling rb_mutex_sleep directly should avoid
thread-switching/interrupt checking which can lead to occasional
failures.
Unfortunately, this means overriding Mutex#sleep is no longer
supported. Will let this commit run for a bit see if ... -
04:19 AM Bug #14818: [Docs] Backport r63112 to ruby 2.5
- ruby_2_5 r64435 merged revision(s) 63112.
-
04:19 AM Revision a814ab9e (git): merge revision(s) 63112: [Backport #14818]
- Remove outdated example from Numeric documentation
Since 2.5, Numeric instances can be cloned and duplicated.
[Fix GH-1850]
From: Miguel Landaeta <miguel@miguel.cc>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/... -
04:18 AM Bug #14816: Extension build failure on a system with musl libc
- ruby_2_5 r64434 merged revision(s) 63571,63572.
-
04:18 AM Revision 99d1f2c5 (git): merge revision(s) 63571,63572: [Backport #14816]
- `int isnan(double)` is a POSIXism
- `isnan` is something relatively new. We need to provide one for
those systems without it. However:
- X/Open defines `int isnan(double)`. Note the `int`.
- C99 defin... -
04:09 AM Revision 38f13727 (git): Suppress read of ~/.irbrc
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:38 AM Bug #14805: Enumerator#count is silently limited to int32
- ruby_2_5 r64432 merged revision(s) 63549,63551,63554.
-
03:37 AM Revision f5a90a2d (git): merge revision(s) 63549,63551,63554: [Backport #14805]
- memo->u3.cnt is long not int [Bug #14805]
enum.c: mitigate overflows
* enum.c (enum_count): convert counters to Integer as unsigned
long, instead of long, to mitigate overflows.
[ruby-core:87348] [Bu... -
03:33 AM Feature #15006 (Open): [PATCH] io.c: use copy_file_range with every types of files
- Ref: https://bugs.ruby-lang.org/issues/13867
`IO.copy_stream` only attempt to use `copy_file_range` if the source is a regular file.
However from my understanding, contrary to `sendfile` and `splice`, `copy_file_range` has no file ... -
03:07 AM Bug #14790: DateTime.iso8601 parses incorrect ISO8601
- ruby_2_5 r64431 merged revision(s) 63512,63514.
-
03:07 AM Revision 36045438 (git): merge revision(s) 63512,63514: [Backport #14790]
- time.rb: fix parsing time zone in iso8601
* lib/time.rb (Time.xmlschema): a colon in time zone designator
can be omitted. [ruby-core:87277] [Bug #14790]
time.rb: fix parsing time zone in iso8601
* li... -
02:56 AM Bug #14756: `Exception` may cause SEGV when `#backtrace` returns a string
- ruby_2_5 r64430 merged revision(s) 63417.
-
02:56 AM Revision 6baeed5b (git): merge revision(s) 63417: [Backport #14756]
- error.c: check redefined backtrace result
* error.c (rb_get_backtrace): check the result of `backtrace` even
if the method is redefined. [ruby-core:87013] [Bug #14756]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/bran... -
02:44 AM Revision 26336dda (git): test/ruby/test_system.rb: suppress prompt and echo on Windows
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
02:39 AM Bug #14754: Backport openssl v2.1.1 / v2.0.8
- ruby_2_5 r64428 merged revision(s) 63406.
-
02:39 AM Revision 7e0cafcd (git): merge revision(s) 63406: [Backport #14754]
- openssl: merge changes in v2.1.1
Commits in upstream repository since v2.1.0 can be found at:
https://github.com/ruby/openssl/compare/v2.1.0...v2.1.1
----------------------------------------------------... -
02:20 AM Revision b2826ef7 (git): test/lib/zombie_hunter.rb: enable zombie hunter for MJIT
- I think this issue is solved by Eric Wong.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
02:15 AM Revision 29aa73fc (git): test_function.rb: try running test_nogvl_poll again
- According to some runs in mjit-test (make test-all RUN_OPTS="--jit-wait"),
this test might not be the cause of its failure.
So, let me try running this again.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64426 b2dd03c8-39d4-4d8f-9... -
02:04 AM Revision 288e2789 (git): tool/downloader.rb: retry 500 from GitHub
- Unfortunately, GitHub may return 500 for temporary failure:
https://travis-ci.org/ruby/ruby/builds/417246523
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:10 AM Revision b173fc92 (git): mjit_worker.c: revert r64322 and r64323
- I gave up to introduce the optimization that skips pc motion by checking
C code's line number. The same code can often be shared by multiple
program counters and it's so hard to achieve the optimization in MJIT's
architecture.
Reverting...
08/17/2018
-
11:54 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- @normalperson I added the specs in r64409.
However I just saw that the spec failed once on Ubuntu:
https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu/ruby-trunk/log/20180817T213003Z.fail.html.gz
Any idea? - 11:51 PM Revision 91bea9db (git): * 2018-08-18
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
11:51 PM Revision a2d2a55d (git): Guard spec failing on Solaris
- * https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11x/ruby-trunk/log/20180817T182406Z.fail.html.gz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
04:27 PM Bug #14638: [win32] File.expand_path("~") treats a relative path with a drive letter as an absolute path
- ruby_2_5 r64421 merged revision(s) 62952.
-
04:27 PM Revision d60a7d2e (git): merge revision(s) 62952: [Backport #14638]
- win32/file.c: relative path with drive letter
* win32/file.c (IS_ABSOLUTE_PATH_P): home directory should not be
a relative path regardless a drive letter. PathIsRelativeW
returns FALSE on such path. [ruby-... -
04:20 PM Bug #14750: [IMAP] `send_string_data` uses `send_literal` method with incorrect number of arguments
- ruby_2_5 r64420 merged revision(s) 63396.
-
04:20 PM Revision 34783456 (git): merge revision(s) 63396: [Backport #14750]
- net/imap: Fix ArgumentError in send_string_data
Thanks to ShockwaveNN (Pavel Lobashov) for reporting the bug.
[ruby-core:86990] [Bug #14750]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@64420 b2dd03c8-3... -
03:48 PM Bug #14708: argument stack underflow (-1) (SyntaxError)
- ruby_2_5 r64419 merged revision(s) 63255.
-
03:48 PM Revision 428db824 (git): merge revision(s) 63255: [Backport #14708]
- compile.c: fix unconditional branch optimization
* compile.c (iseq_peephole_optimize): add dummy `putnil` after a
`jump` replacing an unconditional branch, to adjust removed
`dup`. [ruby-core:86666] [Bug #14... -
03:34 PM Bug #14693: Segfault calling super+[] from redefined #backtrace
- ruby_2_5 r64418 merged revision(s) 61567.
-
03:33 PM Revision a42b5184 (git): merge revision(s) 61567: [Backport #14693]
- fix uninitialized variable
Likewise this can easily be noticed if you read the warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@64418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
03:20 PM Bug #14654: Resurvey performance of RDoc by frozen_string_literal: true
- Already backported at r63048.
-
02:52 PM Revision fb01ef38 (git): Add guard for Solaris in Socket#connect_nonblock spec
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
02:45 PM Misc #14981: DevelopersMeeting20180913Japan
- * [Feature #8661] Add option to print backstrace in reverse order(stack frames first & error last)
* The current backtrace order is really annoying, and I'm not still used; is there any chance to revert? -
02:41 PM Feature #8661: Add option to print backtrace in reverse order (stack frames first and error last)
- Over one year has passed since the backtrace order was reversed. But I'm not still used to the new order.
I agree with Samuel's points. In addition, the old order was more useful because it shows the last debug output and the except... -
01:07 PM Revision abd8880d (git): Guard connect_nonblock spec on FreeBSD
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
01:07 PM Revision 28ed3c0f (git): Guard with a :pktinfo feature specs relying on PKTINFO
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
01:07 PM Revision a48339c2 (git): Re-add specs
- * This reverts commit 325fd389018897bd156837639675517ef3b7dea5.
* Platform guards in the next commit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
11:22 AM Revision a88e5ccc (git): Add a note how to run specs under older Ruby versions
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
11:22 AM Revision 1630728e (git): Fix typo in version guard
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
11:22 AM Revision f3b347e1 (git): Add version guards for Enumerator::ArithmeticSequence
- * And keep specs for older versions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
10:16 AM Feature #15004 (Closed): Run ruby/spec in TravisCI on older versions of MRI to make sure the specs keep working with older supported versions
- ruby/spec is a single codebase supporting the latest minor versions of all supported MRI versions.
So currently, that's 2.3.7, 2.4.4, 2.5.1 and trunk.
I want to make MRI developers aware that ruby/spec must keep working with older (s... -
10:14 AM Revision 5032f637 (git): spec/README.md: add a note about version guards
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
09:51 AM Revision 3993cd80 (git): Integrate new specs for ConditionVariable#wait to prevent regressions
- * See [Bug #14999].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
09:00 AM Bug #14972: Net::HTTP inconsistently raises EOFError when peer closes the connection
- What is the ideal behavior you think? Just below?
```
diff --git a/lib/net/http/response.rb b/lib/net/http/response.rb
index 66132985d9..7c744d02f4 100644
--- a/lib/net/http/response.rb
+++ b/lib/net/http/response.rb
@@ -290,7 +2... -
08:07 AM Feature #15002 (Closed): [PATCH] thread.c (sleep_*): reduce the effect of spurious interrupts
- ```
Spurious interrupts from SIGCHLD cause Mutex#sleep (via
ConditionVariable#wait) to return early and breaks some use
cases. Since these are outside the programs's control with
MJIT, we will only consider pending interrupts (e.g. ... - 07:47 AM Revision 30ad3429 (git): NEWS: clarify that we still use FD_CLOEXEC [ci skip]
- [Misc #14907]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
05:59 AM Revision 3bd2d01f (git): process.c: dead code when no SIGCHLD
- * process.c (ruby_waitpid_all): nothing to do unless SIGCHLD is
available.
* signal.c (ruby_nocldwait): used only if SIGCHLD is available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
04:01 AM Revision 59bbe8a9 (git): [DOC] Add ticket number [ci skip]
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
04:00 AM Revision 6cd8896b (git): [DOC] Update NEWS about close_others [ci skip]
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:36 AM Revision 6f63671f (git): vm.c: add a simple rdoc for RubyVM
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 02:06 AM Revision 8b6297e5 (git): thread_pthread.c (rb_sigwait_fd_get): skip getpid check
- This is not called in signal handlers, so there's no reason for
it. glibc 2.25+ no longer caches getpid(), so it will cost a
syscall for those users.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64403 b2dd03c8-39d4-4d8f-98ff-823fe... -
01:39 AM Revision 028cda35 (git): signal.c: no SIGCHLD, no sigchld_hit
- * signal.c (sigchld_hit): if SIGCHLD is not available, this variable
never sets.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:37 AM Revision e01afc3c (git): ast.c (rb_ast_node_type): return frozen strings
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
01:14 AM Revision 05be3e89 (git): passing non-stdio fds is not supported on Windows
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
12:33 AM Feature #14844: Future of RubyVM::AST?
- bozhidar (Bozhidar Batsov) wrote:
> I'm really curious what's the purpose of this module and why wasn't in developed in collaboration with the maintainers of libraries like https://github.com/whitequark/parser and https://github.com/whi...
08/16/2018
-
11:57 PM Misc #14907 (Closed): [PATCH] io.c: do not close inherited FDs by default
- Applied in changeset trunk|r64399.
----------
process.c: defaults to close_others false
Arbitrarily closing file descriptors on exec breaks use cases
where a Ruby process sets up a descriptor for non-Ruby children
to use. For example,... -
11:32 PM Misc #14907: [PATCH] io.c: do not close inherited FDs by default
- eregontp@gmail.com wrote:
> @normalperson FWIW, I'm not fond of the jobserver-related logic in spec/ruby/optional/capi/spec_helper.rb, it's too complex and seems to gain nothing (but does prevent a make warning IIRC).
It's fine, I g... -
12:20 PM Misc #14907: [PATCH] io.c: do not close inherited FDs by default
- @normalperson FWIW, I'm not fond of the jobserver-related logic in spec/ruby/optional/capi/spec_helper.rb, it's too complex and seems to gain nothing (but does prevent a make warning IIRC).
If there is an easy way to ignore the warning ... -
11:57 PM Bug #14999 (Closed): ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed - Applied in changeset commit:ruby-git|2cf3bd5bb2a7c4724e528577d37a883fe80a1122.
----------
thread_sync.c (rb_mutex_lock): acquire lock before being killed
We (the thread acquiring the mutex) need to acquire the mutex
before being killed... -
08:12 PM Bug #14999: ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- eregontp@gmail.com wrote:
> Bug #14999: ConditionVariable doesn't require the Mutex if Thread#kill-ed
> https://bugs.ruby-lang.org/issues/14999
r64398
Thank you; it was actually a regression introduced while fixing
[Bug #14841]... -
12:59 PM Bug #14999 (Closed): ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed
- These specs reproduce the issue:
https://raw.githubusercontent.com/oracle/truffleruby/master/spec/ruby/library/conditionvariable/wait_spec.rb
I can commit them, but of course they will fail.
Feel free to just copy it to MRI's spec/r... - 11:56 PM Revision b53fadfd (git): process.c: defaults to close_others false
- Arbitrarily closing file descriptors on exec breaks use cases
where a Ruby process sets up a descriptor for non-Ruby children
to use. For example, the "rake foo" target may spawn any number
of subprocesses (Ruby or not) which depends on... -
11:14 PM Bug #15001 (Closed): Peek causes cursor to advance when enumerating the lines of a file
- When a call to peek is made on the enumerator for the lines of a file the cursor advances.
File:
~~~ text
1
2
3
~~~
Sample script:
~~~ ruby
e = File.open("f").each_line
e.peek
p e.each.to_a
~~~
The output is => ["2... -
09:02 PM Feature #14982: Improve namespace system in ruby to avoiding top-level names chaos
- Propose new syntax for https://bugs.ruby-lang.org/issues/14982#note-5 (The core idea is not changing)
``` ruby
# add 'isolate' keyword to describe an isolated binding scope
isolate
# .....
# can't access unimported names from ... - 07:59 PM Revision 2cf3bd5b (git): thread_sync.c (rb_mutex_lock): acquire lock before being killed
- We (the thread acquiring the mutex) need to acquire the mutex
before being killed to work with ConditionVariable#wait.
Thus we reinstate the acquire-immediately-after-sleeping logic
from pre-r63711 while still retaining the
acquire-afte... -
04:11 PM Revision 4bf11e21 (git): Makefile.sub: remove -DRUBY_EXPORT overridden by -U option
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 04:11 PM Revision 75321976 (git): * 2018-08-17
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
04:11 PM Revision 9c827bd0 (git): appveyor.yml: run on all branches
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
01:21 PM Feature #15000 (Closed): Prevent to initialize MonitorMixin twice
- Some libraries or tests unfortunately do something like:
~~~ ruby
require 'monitor'
class Foo
include MonitorMixin
def initialize(*args)
super()
mon_initialize
end
end
~~~
This unfortunately ends up initializ... -
12:51 PM Bug #14998 (Closed): Race conditions in MonitorMixin when interrupted
- From https://bugs.ruby-lang.org/issues/14859#note-9
The code of MonitorMixin#wait is:
~~~ ruby
def wait(timeout = nil)
@monitor.__send__(:mon_check_owner)
count = @monitor.__send__(:mon_exit_for_cond)
begi... -
12:14 PM Revision 1f0f2ae2 (git): Remove outdated comment [ci skip]
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
10:50 AM Revision 250bf32f (git): skip examples failing on solaris
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
09:46 AM Bug #14992 (Closed): mkmf sets DYLD_LIBRARY_PATH on macOS which breaks pkg-config
- Applied in changeset trunk|r64392.
----------
configure.ac: LIBPATHENV on macOS
* configure.ac (LIBPATHENV): use DYLD_FALLBACK_LIBRARY_PATH instead of
DYLD_LIBRARY_PATH on macOS, to honor runtime paths embedded in the
binaries. [r... -
09:46 AM Revision 1961c786 (git): configure.ac: LIBPATHENV on macOS
- * configure.ac (LIBPATHENV): use DYLD_FALLBACK_LIBRARY_PATH instead of
DYLD_LIBRARY_PATH on macOS, to honor runtime paths embedded in the
binaries. [ruby-core:88487] [Bug #14992]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64... -
09:27 AM Revision ae59620b (git): Makefile.in: dependencies to config.status
- * Makefile.in (ruby.pc, ruby-runner.h): fix missing dependencies.
config.status is needed to be up to date, to run it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 09:16 AM Revision e3f6429e (git): thread.c (consume_communication_pipe): disarm UBF_TIMER before consume
- Same reasoning as the disarm in rb_sigwait_fd_get, the current
thread is already processing signals, so we do not need
UBF_TIMER to continually kick the process, anymore.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64390 b2dd03c8-... -
08:56 AM Bug #14997 (Closed): Socket connect timeout exceeds the timeout value for
- Given a case, where a domain is being resolved to multiple IPs (4 in the following example):
```
dig debug-xyz.elb.us-east-1.amazonaws.com a
; <<>> DiG 9.10.3-P4-Ubuntu <<>> debug-xyz.elb.us-east-1.amazonaws.com a
;; global optio... - 08:26 AM Revision 3872ea81 (git): thread_pthread.c: reduce ubf_timer arming for non-signal wakeups
- We do not need to rely on SIGVTALRM for non-sighandler wakeups.
This will reduce spurious wakeups in cases where sigwait_fd
is not grabbed again, soon.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64389 b2dd03c8-39d4-4d8f-98ff-823f... - 08:26 AM Revision 960ef493 (git): thread_pthread.c: check signals from gvl.timer
- For (rare) blocking functions which are not affected by signals,
we need to call the appropriate unblocking function via
`threadptr_trap_interrupt'
While we're at it, handling waitpid/SIGCHLD from gvl.timer isn't
harmful, here.
git-svn... - 03:37 AM Revision 0783fd93 (git): test/net/imap/test_imap.rb (test_exception_during_idle): kill infinite looper
- It is possible for Mutex#sleep (via ConditionVariable#wait)
to prematurely wake up under MJIT (because Mutex#sleep can't
handle spurious wakeups). This affects @idle_done_cond in
Net::IMAP#idle and means the response handler may never
s... -
12:58 AM Feature #14994 (Closed): Enumerator::Lazy#uniq & Enumerator::Lazy#grep_v should use proc chaining
- Applied in changeset trunk|r64385.
----------
Adding Enumerator::Lazy#uniq and Enumerator::Lazy#grep_v to proc chaining
[Feature #14994]
[Fix GH-1930]
From: Anmol Chopra <chopraanmol1@gmail.com> - 12:58 AM Revision 6fc7f103 (git): * properties.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
12:58 AM Revision 7d6a26f2 (git): Adding Enumerator::Lazy#uniq and Enumerator::Lazy#grep_v to proc chaining
- [Feature #14994]
[Fix GH-1930]
From: Anmol Chopra <chopraanmol1@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
12:13 AM Revision 2c195f64 (git): enumerator.c: id_lazy is no longer used since r38923
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
12:05 AM Revision bb8b44b0 (git): apply r64239 to macOS too
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
08/15/2018
-
07:03 PM Misc #14907: [PATCH] io.c: do not close inherited FDs by default
- I wrote:
> OK, I'll commit 0001-process.c-close_others-defaults-to-false.patch
Nevermind, the version I uploaded here also introduces
compatibility problems around make jobserver FD inheritance with
rubyspec. So setting FD_CLOEXE... - 06:56 PM Revision 490898a0 (git): * 2018-08-16
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 06:56 PM Revision 309042d8 (git): test/ripper/test_parser_events.rb (test_block_variables): bump RLIMIT_AS again
- I still seem to need more memory for parallel tests with MJIT...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
02:24 PM Revision 3d3ff9f3 (git): gmtimew_noleapsecond uses tables for mon and mday.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
12:53 PM Revision 50ad0995 (git): spec/ruby/optional/capi/ext/io_spec.c: guard unreachable code
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
11:01 AM Revision 9071cd63 (git): spec/ruby/optional/capi/ext/io_spec.c: guard unreachable code
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
07:32 AM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
- Eric Wong wrote:
> ko1@atdot.net wrote:
> > Let me clear your commits.
> > Maybe "Description" of this ticket is obsolete.
>
> I guess, I will add doc or comments to thread_pthread.c
I think I addressed this in r64377 and made ... -
12:22 AM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
- ko1@atdot.net wrote:
> Let me clear your commits.
> Maybe "Description" of this ticket is obsolete.
I guess, I will add doc or comments to thread_pthread.c
> They are my understandings (fix me if they are wrong):
>
> * Your i... - 07:16 AM Revision 4610d36c (git): thread_pthread.c: hoist out do_gvl_timer and improve documentation
- This hopefully clarifies the roles of UBF_TIMER and vm->gvl.timer
[ruby-core:88475] [Misc #14937]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:38 AM Feature #14994 (Closed): Enumerator::Lazy#uniq & Enumerator::Lazy#grep_v should use proc chaining
- Proc chaining for Enumerator::Lazy was introduced in https://bugs.ruby-lang.org/issues/6183
Proc chaining improved the performance on chained lazy enum for adapted method.
Current implementation of proc chaining can be easily used... - 05:54 AM Revision 727a2d55 (git): vm_core.h (rb_thread_t): pack small fields together
- On a 64-bit system, this reduces rb_thread_t from 536 to 520 bytes.
Depending on the allocation, this can reduce cacheline access
for checking the abort_on_exception, report_on_exception and
pending_interrupt_queue_checked flags.
git-sv... - 05:31 AM Revision 906ad167 (git): thread_pthread.h (native_thread_data): split list_node between ubf and gvl
- Do not waste extra memory for each thread, but make
thread_pthread.c easier-to-follow as a result.
[ruby-core:88475] [Misc #14937]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
04:51 AM Revision 7815d7d7 (git): test_function.rb: skip running test
- that times out with test-all w/ --jit-wait.
I'm running the following command on Wecker CI everyday:
```
make test-all TESTOPTS="--color=never --job-status=normal" RUN_OPTS="--disable-gems --jit-wait --jit-warnings" RUBY_FORCE_TEST_JIT=... - 04:32 AM Revision 3dcf85e0 (git): thread_pthread.c: rename rb_timer_* to ubf_timer_*
- These functions will not be exported outside of thread_pthread.c
and we need to clarify the timer here is used for ubf and not
timeslice.
[ruby-core:88475] [Misc #14937]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64373 b2dd03c8-... - 04:32 AM Revision e4fd71d6 (git): thread_pthread.c: rename timer_thread_pipe to signal_self_pipe
- This data structure has nothing to do with timers or threads.
[ruby-core:88475] [Misc #14937]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 04:32 AM Revision 5dca7d86 (git): thread_pthread.c: additional UBF_TIMER == UBF_TIMER_PTHREAD guards
- Hopefully this makes the code easier-to-follow
[ruby-core:88475] [Misc #14937]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
04:10 AM Revision 425a820d (git): appveyor.yml: no MSYS path conversion
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:03 AM Revision 4940bbc7 (git): test_readline.rb: skip teardown failure
- https://ci.appveyor.com/project/ruby/ruby/build/9271/job/e88212s136mr0dgr
I'll take a look at MSP-Greg's patch on readline later.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
02:15 AM Revision 5a149052 (git): appveyor.yml: get rid of msys sh as possible
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64368 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
02:05 AM Revision 438955ef (git): -Wsuggest-attribute=noreturn on io_spec_rb_io_wait_readable
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
01:55 AM Revision 36e41fd9 (git): test_env.rb: change mingw branch
- https://github.com/MSP-Greg/ruby-loco/blob/e287cb739113da289271a017a1e7fa46cbfe47d9/patches/gte20600/test-ruby-test_env.rb_test_huge_value.patch
From: MSP-Greg (Greg L) <Greg.mpls@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/... -
01:40 AM Revision 0c95c744 (git): skip tests failing on AppVeyor MinGW
- Let me skip this to make CI green first and take a look later...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:36 AM Feature #14989: Add Hash support for transient heap
- Hello, thank you again for a response.
tacinight (Yimin Zhao) wrote:
> > Why you can say that a hash's size has something to do with its age?
> ...
OK. Looking forward to the measurement result. Even if this was a false assert, m...
08/14/2018
-
11:23 PM Revision 1684a1bd (git): appveyor.yml: remove broken --name option
- Currently all tests are skipped by the --name option.
V=1 is for debugging this issue.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 11:00 PM Revision ab7e34e4 (git): webrick/httpauth/htgroup.rb (flush): avoid unnecessary unlink
- Based on patch by akr [ruby-core:88477], use Tempfile.create
to avoid unnecessary unlink call. Unlike akr's original patch,
this does not change the return value of flush.
Thanks-to: Tanaka Akira <akr@fsij.org>
git-svn-id: svn+ssh://c... - 10:59 PM Revision 7d664ecc (git): Revert "test/lib/leakchecker.rb (find_tempfiles): don't warn for missing files"
- This reverts commit 52102f6ff50eebf8c16667c9b49cef579d2057c1 (r64238).
It is no longer necessary if we use Tempfile.create in
WEBrick::HTTPAuth::Htgroup#flush (see next commit)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64362 b2... - 10:06 PM Revision 63529403 (git): Revert "thread_pthread.c: use UBF_TIMER_PTHREAD on Solaris"
- This reverts commit 31bfe0fe86433beddfec2b2bdba69dfda1775f8d (r64357)
commit 17ed23bb6dfc942a8c51658b01135c3e2807ccf0 (r64359,
"fix fragile spec from unpredictable errno") is the correct fix
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/... -
08:00 PM Bug #14992 (Closed): mkmf sets DYLD_LIBRARY_PATH on macOS which breaks pkg-config
- When `mkmf` runs `pkg-config`, it sets `DYLD_LIBRARY_PATH` on macOS which causes `pkg-config` to not work. As an example, running
~~~
$ ruby2.5 -r mkmf -e 'pkg_config("libxml-2.0")'
~~~
writes the following to `mkmf.log`.
~~~
... -
06:32 PM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
- danieldasilvaferreira@gmail.com wrote:
> normalperson@yhbt.net wrote:
>
> > I am thinking of adding preemption support to this feature for
> compatibility with 1.8
>
> non-preemptive vs preemptive.
> coroutines are non-preempti... -
05:52 PM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
- Koichi Sasada <ko1@atdot.net> wrote:
> On 2018/08/14 9:42, Eric Wong wrote:
> > I am thinking of adding preemption support to this feature for
> > compatibility with 1.8
>
> So that "auto-fiber" proposal is to provide green thread... -
09:00 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
- normalperson@yhbt.net wrote:
> I am thinking of adding preemption support to this feature for
compatibility with 1.8
non-preemptive vs preemptive.
coroutines are non-preemptive.
threads are preemptive.
Are we talking about havi... -
08:32 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
- On 2018/08/14 9:42, Eric Wong wrote:
> I am thinking of adding preemption support to this feature for
> compatibility with 1.8
So that "auto-fiber" proposal is to provide green threads like Ruby 1.8?
Like:
```
model 1: Userlev... -
12:52 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
- ko1@atdot.net wrote:
> Issue #13618 has been updated by ko1 (Koichi Sasada).
>
>
> We discussed about naming.
>
> ```
> X IoThread.new{}
> X GreenThread.new{}
> X Thread::Green.new{} #124 “most likely candidates”(vote: hsbt... -
05:48 PM Bug #14678: Segmentation fault in pg
- I wanted to use ruby v2.5.1 instead v2.5.0
But I got this error.
With ruby v2.5.0, my rails project works great without any error.
I was using Rails v5.2.1 on macbook pro macos High Sierra 10.13.6 with Postgres.app v2.1.4
- 05:07 PM Revision 81562d89 (git): * 2018-08-15
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 05:07 PM Revision 17ed23bb (git): spec/ruby/optional/capi/io_spec.rb: fix fragile spec from unpredictable errno
- rb_io_wait_readable and rb_io_wait_writable depend on the TSD
errno value. Due to the recent changes in r64352-r64353 to
restructure GVL, errno could be set to EAGAIN from the signal
self-pipe and cause the rb_io_wait_readable spec to b... -
11:58 AM Revision 37279d15 (git): non-symbol keys in kwargs
- * class.c (separate_symbol): [EXPERIMENTAL] non-symbol key in keyword
arguments hash causes an exception now.
c.f. https://twitter.com/yukihiro_matz/status/1022287578995646464
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64358 ... -
11:23 AM Bug #14976 (Feedback): /usr/local/lib/ruby/gems/2.6.0/gems/fluentd-1.2.4/lib/fluent/event.rb:193: [BUG] Segmentation fault at 0x0000000000000000 ruby 2.6.0preview1 (2018-02-24 trunk 62554) [x86_64-linux]
- Preview version of Ruby is provided for testing purpose.
If you want to use fluentd for production, please use Ruby 2.5 at this time. -
10:44 AM Feature #14989: Add Hash support for transient heap
- Nice introduction and explanation!
-
07:32 AM Feature #14989: Add Hash support for transient heap
- Thanks for the quick response.
> Why you can say that a hash's size has something to do with its age?
Thanks for pointing it out, I admit that there are some problems with
this statement. I will go to measure it.
> > 1. We don... -
04:33 AM Feature #14989: Add Hash support for transient heap
- Thank you for a great work.
tacinight (Yimin Zhao) wrote:
> 2. Transient heap is based on the hypothesis that most of objects die at a young age. To understand the issue with first need to survey the distribution of hash size.
W... -
03:38 AM Feature #14989 (Closed): Add Hash support for transient heap
- Hi, there
I am a GSoC student following @ko1 to do some work for Ruby, here I want to make a brief introduction for one of my work in this period.
## Transient Heap
The first discussion of transient heap was opened by @ko1 at [Intro... -
08:09 AM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
- Let me clear your commits.
Maybe "Description" of this ticket is obsolete.
They are my understandings (fix me if they are wrong):
* Your idea is using POSIX timer if possible.
```
#define UBF_TIMER_NONE 0
#define UBF_TIMER_PO... - 06:49 AM Revision 31bfe0fe (git): thread_pthread.c: use UBF_TIMER_PTHREAD on Solaris
- I'm not sure what's causing this failure in Solaris and only
on rubyspec, since rb_io_wait_readable is a well-exercised
code path in other places. But maybe using a pthread for
timing (similar to old timer-thread) can solve the issue.
... -
05:43 AM Feature #14984: case when with splat operator performance
- ko1 (Koichi Sasada) wrote:
> Could you give us your idea with examples in pseudo-code?
I'm not sure if I understand your question. In case if you are asking about implementation for this issue, then I created a pull request for that:... -
03:05 AM Feature #14984: case when with splat operator performance
- Could you give us your idea with examples in pseudo-code?
-
03:04 AM Feature #14955: [PATCH] gc.c: use MADV_FREE to release most of the heap page body
- On 2018/08/11 13:48, Eric Wong wrote:
>> https://bugs.ruby-lang.org/issues/14955
>
> One major question to ask is: does object count during
> application lifetime vary enough to justify freeing
> "struct heap_page_body"?
>
> In... - 02:24 AM Revision 291afc96 (git): thread_pthread.c: use CLOCK_REALTIME on SunOS (Solaris)
- timer_create does not seem to support CLOCK_MONOTONIC on Solaris,
and CLOCK_HIRES seems like it could fail with insufficient permissions:
https://docs.oracle.com/cd/E86824_01/html/E54766/timer-create-3c.html
(Only tested on Linux and F... - 12:31 AM Revision 1e769ce6 (git): test/fiddle/test_function.rb (test_nogvl_poll): stop timer hack
- EINTR seems unavoidable in real programs (or MJIT), so maybe
it's not worth dealing with. r64353 relies on POSIX timers
to signal.
Switching pipes and sockets to non-blocking by default would let
us get rid of POSIX timers, timer pthre...