nix/misc
Nikodem Rabuliński 8105307f0f Always initialize curl in parent process on darwin
Because of an objc quirk[1], calling curl_global_init for the first time
after fork() will always result in a crash.
Up until now the solution has been to set
OBJC_DISABLE_INITIALIZE_FORK_SAFETY for every nix process to ignore
that error.
This is less than ideal because we were setting it in package.nix,
which meant that running nix tests locally would fail because
that variable was not set.
Instead of working around that error we address it at the core -
by calling curl_global_init inside initLibStore, which should mean
curl will already have been initialized by the time we try to do so in
a forked process.

[1] 01edf1705f/runtime/objc-initialize.mm (L614-L636)

(cherry-picked and adapted from c7d97802e4)
2024-09-18 14:29:26 +02:00
..
bash Meson misc things 2024-08-27 10:19:55 -04:00
fish Meson misc things 2024-08-27 10:19:55 -04:00
launchd Always initialize curl in parent process on darwin 2024-09-18 14:29:26 +02:00
systemd Merge pull request #11413 from cole-h/fixup-daemon-service 2024-09-06 15:56:44 +02:00
systemv lint: fix shellcheck for misc/systemv/nix-daemon 2024-07-14 19:56:03 -07:00
upstart Apply OS checks to host platform, not build 2021-06-23 15:00:36 +00:00
zsh Meson misc things 2024-08-27 10:19:55 -04:00
meson.build Meson misc things 2024-08-27 10:19:55 -04:00