<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/file.c, branch v3_4_9</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) 7a05dbc47831a655a1ef8a1635f88292acd325da: [Backport #21561]</title>
<updated>2025-09-12T21:58:07+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2025-09-12T21:58:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=21709a58682b9fef53e3e3dec97a0fe4498334e3'/>
<id>21709a58682b9fef53e3e3dec97a0fe4498334e3</id>
<content type='text'>
	File.dirname: return consistent encoding for `"."`

	[Bug #21561]

	It's preferable if the method is consistent in the encoding in
	the returned string.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	File.dirname: return consistent encoding for `"."`

	[Bug #21561]

	It's preferable if the method is consistent in the encoding in
	the returned string.
</pre>
</div>
</content>
</entry>
<entry>
<title>[Bug #20631] Workaround for macOS 15.0 fork crash</title>
<updated>2024-10-10T04:40:59+00:00</updated>
<author>
<name>Yuta Saito</name>
<email>kateinoigakukun@gmail.com</email>
</author>
<published>2024-10-09T12:46:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c77f0b91342935f661c6e5ba0f6f5c19427da174'/>
<id>c77f0b91342935f661c6e5ba0f6f5c19427da174</id>
<content type='text'>
macOS 15.0 24A5331b seems to have a weird issue that
`CFStringCreateWithBytesNoCopy` does not return `NSTaggedPointerString`
instance for the first call. This issue is fixed in macOS 15.1 but we
need to workaround it for macOS 15.0.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
macOS 15.0 24A5331b seems to have a weird issue that
`CFStringCreateWithBytesNoCopy` does not return `NSTaggedPointerString`
instance for the first call. This issue is fixed in macOS 15.1 but we
need to workaround it for macOS 15.0.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix spelling</title>
<updated>2024-10-08T22:14:44+00:00</updated>
<author>
<name>John Bampton</name>
<email>jbampton@gmail.com</email>
</author>
<published>2024-10-08T17:36:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3fc1495c305bca14ab30d458e74dcc42424195d1'/>
<id>3fc1495c305bca14ab30d458e74dcc42424195d1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce `rb_io_blocking_region` which takes `struct rb_io` argument. (#11795)</title>
<updated>2024-10-05T02:10:12+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2024-10-05T02:10:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c50298d7d4f8797963490f5679b1c481b89d4955'/>
<id>c50298d7d4f8797963490f5679b1c481b89d4955</id>
<content type='text'>
This does not change any actual behaviour, but provides a choke point for blocking IO operations.

* Update `IO::Buffer` to use `rb_io_blocking_region`.

* Update `File` to use `rb_io_blocking_region`.

* Update `IO` to use `rb_io_blocking_region`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This does not change any actual behaviour, but provides a choke point for blocking IO operations.

* Update `IO::Buffer` to use `rb_io_blocking_region`.

* Update `File` to use `rb_io_blocking_region`.

* Update `IO` to use `rb_io_blocking_region`.</pre>
</div>
</content>
</entry>
<entry>
<title>Free a buffer allocated by realpath</title>
<updated>2024-09-30T11:35:46+00:00</updated>
<author>
<name>Yusuke Endoh</name>
<email>mame@ruby-lang.org</email>
</author>
<published>2024-09-30T10:40:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b93c51c114c2b3c8f9845f3a7bd2c936baf0996d'/>
<id>b93c51c114c2b3c8f9845f3a7bd2c936baf0996d</id>
<content type='text'>
8350b48cfa7d344d9e2dc9748c26607c1b89d7df introduced a memory leak bug.

Will fix [Bug #20773]
`loop { File.realpath("foo") }` caused memory leak.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
8350b48cfa7d344d9e2dc9748c26607c1b89d7df introduced a memory leak bug.

Will fix [Bug #20773]
`loop { File.realpath("foo") }` caused memory leak.
</pre>
</div>
</content>
</entry>
<entry>
<title>Extract `mutable_CFString_new`</title>
<updated>2024-09-26T09:17:13+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-09-26T09:17:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2a65f4c90713c3738993aba34b03eeed02ac7a87'/>
<id>2a65f4c90713c3738993aba34b03eeed02ac7a87</id>
<content type='text'>
From duplicate code in `rb_CFString_class_initialize_before_fork` and
`rb_str_append_normalized_ospath`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
From duplicate code in `rb_CFString_class_initialize_before_fork` and
`rb_str_append_normalized_ospath`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Import patches for old macOS from MacPorts</title>
<updated>2024-09-26T01:32:30+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-09-26T01:32:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8350b48cfa7d344d9e2dc9748c26607c1b89d7df'/>
<id>8350b48cfa7d344d9e2dc9748c26607c1b89d7df</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Release GVL for get{pwnam,pwuid,grgid,grnam}_r calls in process.c</title>
<updated>2024-09-12T14:24:02+00:00</updated>
<author>
<name>Jeremy Evans</name>
<email>code@jeremyevans.net</email>
</author>
<published>2024-07-18T19:08:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ad761ad2d0a63270fbd243a477dc962446a5116e'/>
<id>ad761ad2d0a63270fbd243a477dc962446a5116e</id>
<content type='text'>
Do not release GVL around get{pwuid,pwnam,grgid,grnam} calls,
as doing so is not thread-safe.  Another C extension could have
a concurrent call, and derefencing the returned pointer from
these calls could result in a segfault.

Have rb_home_dir_of call rb_getpwdirnam_for_login if available,
so it can use getpwnam_r and release GVL in a thread-safe manner.

This is related to GVL releasing work in [Bug #20587].
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Do not release GVL around get{pwuid,pwnam,grgid,grnam} calls,
as doing so is not thread-safe.  Another C extension could have
a concurrent call, and derefencing the returned pointer from
these calls could result in a segfault.

Have rb_home_dir_of call rb_getpwdirnam_for_login if available,
so it can use getpwnam_r and release GVL in a thread-safe manner.

This is related to GVL releasing work in [Bug #20587].
</pre>
</div>
</content>
</entry>
<entry>
<title>Check getlogin return value before passing to strcasecmp</title>
<updated>2024-08-22T02:20:47+00:00</updated>
<author>
<name>Jeremy Evans</name>
<email>code@jeremyevans.net</email>
</author>
<published>2024-08-21T21:32:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ae886e0c83c0e3a3c838f48fb91efe253c027c6d'/>
<id>ae886e0c83c0e3a3c838f48fb91efe253c027c6d</id>
<content type='text'>
getlogin can return NULL, and this can avoid a segfault
in that case.

Mentioned as an issue in comment to bug 20586.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
getlogin can return NULL, and this can avoid a segfault
in that case.

Mentioned as an issue in comment to bug 20586.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix `utimesat` availability condition</title>
<updated>2024-07-18T02:20:17+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-07-18T02:20:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d11d615ba602e92a7279b7efdf595ba11ba3a663'/>
<id>d11d615ba602e92a7279b7efdf595ba11ba3a663</id>
<content type='text'>
As `__has_attribute` macro is always defined in internal/compilers.h,
gcc warns `-Wunguarded-availability-new` as unknown option.  Check if
the warning option is usable instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As `__has_attribute` macro is always defined in internal/compilers.h,
gcc warns `-Wunguarded-availability-new` as unknown option.  Check if
the warning option is usable instead.
</pre>
</div>
</content>
</entry>
</feed>
