<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/ruby/test_process.rb, branch v3_2_11</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>merge revision(s) 8034e9c3d001ca3dff124ab42972684eac8af2ae: [Backport #20995]</title>
<updated>2025-01-11T06:30:06+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2025-01-11T06:30:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f150d67b7d389eb88e0cd13694d3529895d55579'/>
<id>f150d67b7d389eb88e0cd13694d3529895d55579</id>
<content type='text'>
	[Bug #20995] Protect `IO.popen` block from exiting by exception
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[Bug #20995] Protect `IO.popen` block from exiting by exception
</pre>
</div>
</content>
</entry>
<entry>
<title>Pend some tests because these are not working with macOS 15 and Xcode 16</title>
<updated>2024-11-06T06:35:34+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2024-07-12T03:35:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e548ff67ea1a769d79aece363fe93ce113b3a07c'/>
<id>e548ff67ea1a769d79aece363fe93ce113b3a07c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow waitpid(-1, Process::WNOHANG) to be woken if a waitpid(pid) is</title>
<updated>2024-08-18T09:02:09+00:00</updated>
<author>
<name>Stan Hu</name>
<email>stanhu@gmail.com</email>
</author>
<published>2024-05-17T08:05:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=65fed1c3e439bc47bcf6ec884431a86cb9ebd1dc'/>
<id>65fed1c3e439bc47bcf6ec884431a86cb9ebd1dc</id>
<content type='text'>
...pending

If two threads are running, with one calling waitpid(-1, Process::WNOHANG),
and another calling waitpid($some_pid), and then
$some_other_pid exits, we would expect the waitpid(-1,
Process::WNOHANG) call to retrieve that exit status. However, it
cannot actually do so until $some_pid _also_ exits.

This patch fixes the issue by calling do_waitpid unconditionally in
waitpid_wait; this will ensure that a waitpid -1 actually reaps
something (after first checking that no PID-directed call wants the
process).

[Bug #20490]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
...pending

If two threads are running, with one calling waitpid(-1, Process::WNOHANG),
and another calling waitpid($some_pid), and then
$some_other_pid exits, we would expect the waitpid(-1,
Process::WNOHANG) call to retrieve that exit status. However, it
cannot actually do so until $some_pid _also_ exits.

This patch fixes the issue by calling do_waitpid unconditionally in
waitpid_wait; this will ensure that a waitpid -1 actually reaps
something (after first checking that no PID-directed call wants the
process).

[Bug #20490]
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) a7ff264477105b5dc0ade6facad4176a1b73df0b: [Backport #20393]</title>
<updated>2024-07-06T04:26:26+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2024-07-06T04:26:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5577e5d396cc8f062833b67d6280db6cc8501e7a'/>
<id>5577e5d396cc8f062833b67d6280db6cc8501e7a</id>
<content type='text'>
	Don't clear pending interrupts in the parent process. (#10365)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Don't clear pending interrupts in the parent process. (#10365)
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow waitpid(-1) to be woken if a waitpid(pid) call is pending</title>
<updated>2023-09-09T09:51:25+00:00</updated>
<author>
<name>KJ Tsanaktsidis</name>
<email>kj@kjtsanaktsidis.id.au</email>
</author>
<published>2023-08-18T13:19:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0b7a4fbaa9c56d2c67d00d86c69f9e5c71803267'/>
<id>0b7a4fbaa9c56d2c67d00d86c69f9e5c71803267</id>
<content type='text'>
If two threads are running, with one calling waitpid(-1), and another
calling waitpid($some_pid), and then $some_other_pid exits, we would
expect the waitpid(-1) call to retrieve that exit status; however, it
cannot actually do so until $some_pid _also_ exits.

This patch fixes the issue by unconditionally checking for pending
process group waits on SIGCHLD, and then allowing pending pid-only waits
to "steal" the notification.

[Fixes #19387]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If two threads are running, with one calling waitpid(-1), and another
calling waitpid($some_pid), and then $some_other_pid exits, we would
expect the waitpid(-1) call to retrieve that exit status; however, it
cannot actually do so until $some_pid _also_ exits.

This patch fixes the issue by unconditionally checking for pending
process group waits on SIGCHLD, and then allowing pending pid-only waits
to "steal" the notification.

[Fixes #19387]
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove `require 'io/wait'` where it's no longer necessary. (#6932)</title>
<updated>2022-12-14T22:37:01+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2022-12-14T22:37:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d20bd06a97555a4493458d866590107da6cb21f4'/>
<id>d20bd06a97555a4493458d866590107da6cb21f4</id>
<content type='text'>
* Remove `require 'io/wait'` as it's part of core now.

* Update ruby specs using version gates.

* Add note about why it's conditional.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Remove `require 'io/wait'` as it's part of core now.

* Update ruby specs using version gates.

* Add note about why it's conditional.</pre>
</div>
</content>
</entry>
<entry>
<title>Make the timeout of test_system_sigpipe longer</title>
<updated>2022-11-28T06:48:19+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2022-11-28T06:48:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=168b0e1f025a3c8927bbf548cc4631862fe22d29'/>
<id>168b0e1f025a3c8927bbf548cc4631862fe22d29</id>
<content type='text'>
https://github.com/ruby/ruby/actions/runs/3562236318/jobs/5983796689
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/ruby/actions/runs/3562236318/jobs/5983796689
</pre>
</div>
</content>
</entry>
<entry>
<title>Ignore EPERM which means already being process-leader</title>
<updated>2022-09-20T02:12:11+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2022-09-20T02:12:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=55e540f7ab6adb3ea0de16912dfde8e0bf94cc6e'/>
<id>55e540f7ab6adb3ea0de16912dfde8e0bf94cc6e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add another test for `Process.daemon`</title>
<updated>2022-09-19T06:34:16+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2022-09-18T15:26:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1c9381283e68b9021df2509fb64d663998d8cb5a'/>
<id>1c9381283e68b9021df2509fb64d663998d8cb5a</id>
<content type='text'>
Check for that the daemon process is detached, that means it is not a
child and not waitable.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Check for that the daemon process is detached, that means it is not a
child and not waitable.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use omit instead of skip: test/ruby/**/*.rb</title>
<updated>2022-01-04T08:25:30+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2022-01-04T08:25:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=47bf64a26d3d95a312ea5cf5d94ee1d2104f5e26'/>
<id>47bf64a26d3d95a312ea5cf5d94ee1d2104f5e26</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
