summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorYuta Saito <kateinoigakukun@gmail.com>2022-09-24 03:36:04 +0900
committerYuta Saito <kateinoigakukun@gmail.com>2022-09-26 12:03:40 +0900
commite3cc1a6cae0e6c88c04cd54c3afa3c022bb6772c (patch)
treea3fdbda1f745e9b8ebb405fef0e0485715036b5d /test
parentd89f8a046753e2f166ee252510aadf1579dbcd63 (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
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/6426
Diffstat (limited to 'test')
0 files changed, 0 insertions, 0 deletions