diff options
author | Tor Lillqvist <tml@iki.fi> | 2021-02-19 20:11:30 +0200 |
---|---|---|
committer | Tor Lillqvist <tml@collabora.com> | 2021-02-19 22:45:28 +0100 |
commit | 22e89d2ccd3ad3ee1b5ee00aebadd3d5a38fd5dd (patch) | |
tree | eebefec5ab05e7a37f1ebd54afa14ac8ff1522f5 | |
parent | 794936b7b4e8661c83db32ab6ed532ed2627fea2 (diff) |
tdf#140332: Can't use System V semaphores in a sandboxed macOS process
See
https://developer.apple.com/library/archive/documentation/Security/Conceptual/AppSandboxDesignGuide/AppSandboxInDepth/AppSandboxInDepth.html
, "Note: System V semaphores are not supported in sandboxed apps".
So use POSIX semaphores instead.
Change-Id: I37c910cf13b868ab15fe31f90e42d24a9a24eeb1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111239
Tested-by: Tor Lillqvist <tml@collabora.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
-rw-r--r-- | external/firebird/UnpackedTarball_firebird.mk | 6 | ||||
-rw-r--r-- | external/firebird/firebird-macosx-sandbox.patch.1 | 13 |
2 files changed, 19 insertions, 0 deletions
diff --git a/external/firebird/UnpackedTarball_firebird.mk b/external/firebird/UnpackedTarball_firebird.mk index fef0b7fe48b1..37234a0a573c 100644 --- a/external/firebird/UnpackedTarball_firebird.mk +++ b/external/firebird/UnpackedTarball_firebird.mk @@ -61,6 +61,12 @@ $(eval $(call gb_UnpackedTarball_add_patches,firebird,\ )) endif +ifeq ($(ENABLE_MACOSX_SANDBOX),TRUE) +$(eval $(call gb_UnpackedTarball_add_patches,firebird,\ + external/firebird/firebird-macosx-sandbox.patch.1 \ +)) +endif + ifneq ($(filter -fsanitize=%,$(CC)),) $(eval $(call gb_UnpackedTarball_add_patches,firebird, \ external/firebird/sanitizer.patch \ diff --git a/external/firebird/firebird-macosx-sandbox.patch.1 b/external/firebird/firebird-macosx-sandbox.patch.1 new file mode 100644 index 000000000000..3bf246c682ba --- /dev/null +++ b/external/firebird/firebird-macosx-sandbox.patch.1 @@ -0,0 +1,13 @@ +-*- Mode: Diff -*- + +--- firebird/src/common/isc_s_proto.h ++++ firebird/src/common/isc_s_proto.h +@@ -37,6 +37,8 @@ + // Firebird platform-specific synchronization data structures + + #if defined(DARWIN) ++#define USE_POSIX_SEMAPHORE ++#define USE_SHARED_FUTEX + #define USE_FILELOCKS + #endif + |