summaryrefslogtreecommitdiff
path: root/version.h
diff options
context:
space:
mode:
authorYuta Saito <kateinoigakukun@gmail.com>2022-09-24 03:36:04 +0900
committerusa <usa@garbagecollect.jp>2022-10-01 15:58:25 +0900
commit7f2c548255c2e9cf5c7089823153a8a06940f174 (patch)
tree7d582ed941c9ec74eb170e33edae740db333e84d /version.h
parent2ae567acab101b4b89522084898fdae0302bb527 (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