diff options
author | Yuta Saito <kateinoigakukun@gmail.com> | 2022-09-24 03:36:04 +0900 |
---|---|---|
committer | usa <usa@garbagecollect.jp> | 2022-10-01 15:58:25 +0900 |
commit | 7f2c548255c2e9cf5c7089823153a8a06940f174 (patch) | |
tree | 7d582ed941c9ec74eb170e33edae740db333e84d /version.h | |
parent | 2ae567acab101b4b89522084898fdae0302bb527 (diff) |
Initialize Objective-C classes before fork() for macOS 13
Since macOS 13, CFString family API used in
`rb_str_append_normalized_ospath` may internally use Objective-C classes
(`NSTaggedPointerString` and `NSPlaceholderMutableString`) for small strings.
On the other hand, Objective-C classes should not be used for the first
time in a `fork()`'ed but not `exec()`'ed process. Violations for this rule
can result deadlock during class initialization, so Objective-C runtime
conservatively crashes on such cases by default.
Therefore, we need to use CFString API to initialize Objective-C classes
used internally *before* `fork()`.
For more details, see https://bugs.ruby-lang.org/issues/18912
Diffstat (limited to 'version.h')
0 files changed, 0 insertions, 0 deletions