dbus-daemon fails to launch on macOS 10.5 and above because of a breaking
change in setrlimit, in which RLIM_INFINITY is no longer supported
for RLIMIT_NOFILE. Instead we must use OPEN_MAX.
Resolves: #309
(cherry picked from commit
691946dabcdd3e97787655d977a4da33fe56d433)
* and older and non-systemd Linux systems would typically set rlim_cur
* to 1024 and rlim_max to 4096. */
if (lim.rlim_max == RLIM_INFINITY || lim.rlim_cur < lim.rlim_max)
- lim.rlim_cur = lim.rlim_max;
+ {
+#if defined(__APPLE__) && defined(__MACH__)
+ /* macOS 10.5 and above no longer allows RLIM_INFINITY for rlim_cur */
+ lim.rlim_cur = MIN (OPEN_MAX, lim.rlim_max);
+#else
+ lim.rlim_cur = lim.rlim_max;
+#endif
+ }
/* Early-return if there is nothing to do. */
if (lim.rlim_max == old.rlim_max &&