summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-03-30Update dependenciesYusuke Endoh
Notes: Merged: https://github.com/ruby/ruby/pull/5703
2022-03-30internal/ractor.h: AddedYusuke Endoh
Currently it has only one function prototype. Notes: Merged: https://github.com/ruby/ruby/pull/5703
2022-03-30re.c: raise Regexp::TimeoutError instead of RuntimeErrorYusuke Endoh
Notes: Merged: https://github.com/ruby/ruby/pull/5703
2022-03-30doc/regexp.rdoc: Add explanation about Regexp timeout configurationYusuke Endoh
Notes: Merged: https://github.com/ruby/ruby/pull/5703
2022-03-30re.c: Add `timeout` keyword for Regexp.new and Regexp#timeoutYusuke Endoh
Notes: Merged: https://github.com/ruby/ruby/pull/5703
2022-03-30re.c: Add Regexp.timeout= and Regexp.timeoutYusuke Endoh
[Feature #17837] Notes: Merged: https://github.com/ruby/ruby/pull/5703
2022-03-30ractor.c: Add a helper function to ensure the context is a main ractorYusuke Endoh
Notes: Merged: https://github.com/ruby/ruby/pull/5703
2022-03-30thread.c: Move double2hrtime and hrtime2double to hrtime.hYusuke Endoh
... to make them available in other places than thread.c Notes: Merged: https://github.com/ruby/ruby/pull/5703
2022-03-30Prefix ccan headers (#4568)Nobuyoshi Nakada
* Prefixed ccan headers * Remove unprefixed names in ccan/build_assert * Remove unprefixed names in ccan/check_type * Remove unprefixed names in ccan/container_of * Remove unprefixed names in ccan/list Co-authored-by: Samuel Williams <samuel.williams@oriontransfer.co.nz> Notes: Merged-By: ioquatix <samuel@codeotaku.com>
2022-03-30Fix locations of the second argumentNobuyoshi Nakada
2022-03-30[ruby/psych] Configure libyaml from the original sourceNobuyoshi Nakada
https://github.com/ruby/psych/commit/54a9ba9d10
2022-03-30[DOC] Use simple references to operator methodsNobuyoshi Nakada
Method references is not only able to be marked up as code, also reflects `--show-hash` option. The bug that prevented the old rdoc from correctly parsing these methods was fixed last month.
2022-03-29Update NEWS for TracePoint#enable target_thread default changeJeremy Evans
2022-03-29Fix commentJeremy Evans
Notes: Merged: https://github.com/ruby/ruby/pull/5359
2022-03-29Fix spec descriptionJeremy Evans
Co-authored-by: Benoit Daloze <eregontp@gmail.com> Notes: Merged: https://github.com/ruby/ruby/pull/5359
2022-03-29Update comment for TracePoint#enableJeremy Evans
Co-authored-by: Benoit Daloze <eregontp@gmail.com> Notes: Merged: https://github.com/ruby/ruby/pull/5359
2022-03-29Avoid trace events in implementation of TracePoint#enableJeremy Evans
This is more backwards compatible, and should fix issues with power_assert. Unfortunately, it requires using a sentinel value as the default value of target_thread, instead of the more natural expression used in the original approach. Notes: Merged: https://github.com/ruby/ruby/pull/5359
2022-03-29Make TracePoint#enable with block target current thread by defaultJeremy Evans
If TracePoint#enable is passed a block, it previously started the trace on all threads. This changes it to trace only the current thread by default. To limit the scope of the change, the current thread is only used by default if target and target_line are both nil. You can pass target_thread: nil to enable tracing on all threads, to get the previous default behavior. Fixes [Bug #16889] Notes: Merged: https://github.com/ruby/ruby/pull/5359
2022-03-29Fix multiplex backreferencs near end of string in regexp matchJeremy Evans
Idea from Jirka Marsik. Fixes [Bug #18631] Notes: Merged: https://github.com/ruby/ruby/pull/5710
2022-03-29Make define_singleton_method always define a public methodJeremy Evans
In very unlikely cases, it could previously define a non-public method starting in Ruby 2.1. Fixes [Bug #18561] Notes: Merged: https://github.com/ruby/ruby/pull/5636
2022-03-30* 2022-03-30 [ci skip]git
2022-03-29Refactor test_dump_all to make assertions about the contents of the dumped hashJemma Issroff
Notes: Merged: https://github.com/ruby/ruby/pull/5728
2022-03-29[DOC] Enhanced RDoc for String (#5730)Burdette Lamar
Treats: #start_with? #end_with? #delete_prefix #delete_prefix! #delete_suffix #delete_suffix! Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-03-29[ruby/psych] Try bundled libyaml source if pre-installed is unavailableNobuyoshi Nakada
https://github.com/ruby/psych/commit/f78e1dba89
2022-03-29[DOC] Repair format of What's Here sections in object.c (#5722)Burdette Lamar
* Repair format of What's Here sections in object.c Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-03-29Merge psych masterHiroshi SHIBATA
https://github.com/ruby/psych/commit/c386ecb0c24eeb9693cc4ad3b1f263b2622c4f1e Notes: Merged: https://github.com/ruby/ruby/pull/5729
2022-03-28Fix Ractor.receive_if + rb_vm_barrier() deadlockAlan Wu
I have this scripts that deadlocks after about 5 minutes if I repeatedly run it with a shell loop: ```ruby $VERBOSE = nil lamb = ->(main, gc) do gc.verify_internal_consistency gc.verify_internal_consistency main << 1 gc.verify_internal_consistency gc.verify_internal_consistency main << 2 gc.verify_internal_consistency gc.verify_internal_consistency main << 3 gc.verify_internal_consistency gc.verify_internal_consistency end lamb[[], GC] lamb[[], GC] r = Ractor.new Ractor.current, GC, &lamb a = [] a << Ractor.receive_if{|msg| msg == 2} a << Ractor.receive_if{|msg| msg == 3} a << Ractor.receive_if{|msg| msg == 1} ``` Shell loop: ```shell while ./miniruby deadlock.rb; do date; done ``` Once it locks up, CTRL-C doesn't interrupt the process which led me to infer `receive_if` is looping in `ractor_receive_if()` without checking for interrupts. This can be confirmed by attaching a debugger to the deadlocked miniruby. The deadlock has one thread looping in `receive_if` and another waiting in `rb_vm_barrier()`. The barrier relies on interrupt checking to finish. Theoretically speaking the `rb_vm_barrier()` could come from one thread naturally starting GC. We found this while developing YJIT but it dead locks running with YJIT disabled. YJIT currently relies on `rb_vm_barrier()` to synchronize before changing memory protection. This diff adds an interrupt check in the loop in `Ractor#receive_if` which seems to fix the deadlock. In addition, this commit allows interrupting the following single ractor script with CTRL-C. ```shell ruby -e 'Ractor.current.send(3); Ractor.receive_if { false }' ``` Notes: Merged: https://github.com/ruby/ruby/pull/5699 Merged-By: XrXr
2022-03-28[DOC] Enhanced RDoc for String (#5726)Burdette Lamar
Treats: #ljust #rjust #center #partition #rpartition Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-03-29* 2022-03-29 [ci skip]git
2022-03-28Update to ruby/spec@aaf998fBenoit Daloze
2022-03-28Remove unneeded function declarations in gc.cPeter Zhu
2022-03-28Update zlib version to 1.2.12Nobuyoshi Nakada
2022-03-28Fix a missing commaNobuyoshi Nakada
2022-03-28Use m4 comments outside macros in m4 filesNobuyoshi Nakada
2022-03-28Extract RUBY_REQUIRE_FUNCSNobuyoshi Nakada
2022-03-28[DOC] Move the entry for [Feature #18571]Nobuyoshi Nakada
2022-03-28Fix a link [ci skip]Kazuhiro NISHIYAMA
2022-03-28Added entry of Psych changes for #18571Hiroshi SHIBATA
2022-03-28* 2022-03-28 [ci skip]git
2022-03-27[DOC] Enhanced RDoc for String (#5724)Burdette Lamar
Treats: #scan #hex #oct #crypt #ord #sum Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-03-27ext/psych/extconf.rb: Fail when libyaml is unavailableYusuke Endoh
WHen libyaml is not installed, make fails with the following cryptic message: ``` gmake[2]: Entering directory '/home/chkbuild/chkbuild-crossruby/tmp/build/20220325T045825Z/ruby/ext/psych' gmake[2]: *** No rule to make target 'yaml/yaml.h', needed by 'psych.o'. Stop. gmake[2]: Leaving directory '/home/chkbuild/chkbuild-crossruby/tmp/build/20220325T045825Z/ruby/ext/psych' ``` I think it should give up building psych with a clear message. Notes: Merged: https://github.com/ruby/ruby/pull/5713
2022-03-27[DOC] Fix references to unary operatorNobuyoshi Nakada
2022-03-27* 2022-03-27 [ci skip]git
2022-03-26Enhanced RDoc for String (#5723)Burdette Lamar
Treats: #lstrip #lstrip! #rstrip #rstrip! #strip #strip! Adds section Whitespace in Strings. Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-03-26[DOC] Use simple references to operator methodsNobuyoshi Nakada
Method references is not only able to be marked up as code, also reflects `--show-hash` option. The bug that prevented the old rdoc from correctly parsing these methods was fixed last month.
2022-03-26[ruby/psych] Added condition for macOS homebrewHiroshi SHIBATA
https://github.com/ruby/psych/commit/a876de5a82 Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
2022-03-25Update NEWS for {Kernel,TracePoint}#binding changeJeremy Evans
2022-03-25[DOC] Fix formatting for What's Here in IO (#5719)Burdette Lamar
* Fix formatting for What's Here in IO * Repair formatting in What's Heres in numeric.c * Fix formatting for What's Here in IO Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-03-25Fix formatting errors in What's Here for Array, Hash, ENV (#5718)Burdette Lamar
Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-03-25Fix formatting of What's Here for File (#5717)Burdette Lamar
Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>