<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/signal.c, branch v4.0.4</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[DOC] Improve docs for Signal.trap</title>
<updated>2025-12-20T02:38:12+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2025-12-19T22:12:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=df68535055c2104dc97762aeb3ed2794f01c49cf'/>
<id>df68535055c2104dc97762aeb3ed2794f01c49cf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add `rb_eval_cmd_call_kw` to shortcut</title>
<updated>2025-12-04T09:07:49+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-12-04T08:35:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7f41c3e7b1373f35cc073241b3773289be9be03e'/>
<id>7f41c3e7b1373f35cc073241b3773289be9be03e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove stale check</title>
<updated>2025-11-30T12:39:26+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-11-30T12:07:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a0cd81e005d185be37b3a0323e4ee61b7b4360a6'/>
<id>a0cd81e005d185be37b3a0323e4ee61b7b4360a6</id>
<content type='text'>
Any objects with `call` method can be accepted as trap handlers, and
the check for `Proc` type is useless since ruby/ruby@29f5911cf545.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Any objects with `call` method can be accepted as trap handlers, and
the check for `Proc` type is useless since ruby/ruby@29f5911cf545.
</pre>
</div>
</content>
</entry>
<entry>
<title>Handle SIGABRT and output bug report</title>
<updated>2025-11-24T22:32:53+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2025-11-23T22:34:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2315349b8ac10b1b4468ed10dabcb348a10bca0a'/>
<id>2315349b8ac10b1b4468ed10dabcb348a10bca0a</id>
<content type='text'>
SIGABRT is for abnormal termination so we should handle it to output a bug
report. Specifically, glibc malloc uses it to exit when there is corruption.
For example, the following script produces a double free:

    mem = Fiddle.malloc(10)
    Fiddle.free(mem)
    Fiddle.free(mem)

Before this patch, it just outputs the following and exits:

    free(): double free detected in tcache 2

After this patch, it also outputs a bug report:

    free(): double free detected in tcache 2
    test.rb:11: [BUG] Aborted at 0x000003e8000ab65c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SIGABRT is for abnormal termination so we should handle it to output a bug
report. Specifically, glibc malloc uses it to exit when there is corruption.
For example, the following script produces a double free:

    mem = Fiddle.malloc(10)
    Fiddle.free(mem)
    Fiddle.free(mem)

Before this patch, it just outputs the following and exits:

    free(): double free detected in tcache 2

After this patch, it also outputs a bug report:

    free(): double free detected in tcache 2
    test.rb:11: [BUG] Aborted at 0x000003e8000ab65c
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't check for stack overflow when ec is NULL (#14236)</title>
<updated>2025-08-15T17:41:39+00:00</updated>
<author>
<name>John Hawthorn</name>
<email>john@hawthorn.email</email>
</author>
<published>2025-08-15T17:41:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0d0c051b19548eeb65417a20e52fb460e330f0ce'/>
<id>0d0c051b19548eeb65417a20e52fb460e330f0ce</id>
<content type='text'>
Co-authored-by: Nobuyoshi Nakada &lt;nobu.nakada@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Nobuyoshi Nakada &lt;nobu.nakada@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Fix race condition in signal handler query (#13712)</title>
<updated>2025-06-28T04:55:59+00:00</updated>
<author>
<name>Erik Berlin</name>
<email>sferik@gmail.com</email>
</author>
<published>2025-06-28T04:55:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=eab4a0bc8d883be2071a090c87914efc9c12d10c'/>
<id>eab4a0bc8d883be2071a090c87914efc9c12d10c</id>
<content type='text'>
* Fix race condition in signal handler query

* Initialize signal lock dynamically and reset after fork

* Fix signal handler mutex initialization conditions</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fix race condition in signal handler query

* Initialize signal lock dynamically and reset after fork

* Fix signal handler mutex initialization conditions</pre>
</div>
</content>
</entry>
<entry>
<title>Win32: Use `SIG_GET` to get the current value of the signal</title>
<updated>2025-06-26T08:38:36+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-06-26T08:08:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b1c09faf67a663bcda430931c987762521efd53a'/>
<id>b1c09faf67a663bcda430931c987762521efd53a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make the critical level an enum</title>
<updated>2025-06-23T11:03:48+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-04-25T02:15:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=af6b98f7a25670cb569f6da59904b3c05482b16e'/>
<id>af6b98f7a25670cb569f6da59904b3c05482b16e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove dead rb_malloc_info_show_results</title>
<updated>2025-06-04T18:07:19+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2025-06-04T13:55:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=99cc100cdf4f424faea8caa33beb0d14171c5dcb'/>
<id>99cc100cdf4f424faea8caa33beb0d14171c5dcb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use atomic load for signal buff size</title>
<updated>2025-05-20T16:56:31+00:00</updated>
<author>
<name>John Hawthorn</name>
<email>john@hawthorn.email</email>
</author>
<published>2025-05-15T02:59:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e7f97eb2f3539ec49c61e4adbfaa7600256ef234'/>
<id>e7f97eb2f3539ec49c61e4adbfaa7600256ef234</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
