<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-legacy-support.
</pre>
<p><a href="https://github.com/macports/macports-legacy-support/commit/fe5c6771e3d391c756e99cf62358bec0f5863809">https://github.com/macports/macports-legacy-support/commit/fe5c6771e3d391c756e99cf62358bec0f5863809</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit fe5c6771e3d391c756e99cf62358bec0f5863809
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Wed Jun 4 23:45:33 2025 -0700
<span style='display:block; white-space:pre;color:#404040;'> os_unfair_lock: Allow building with later SDK.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> This provides appropriate definitions for the <10.12 code when built
</span><span style='display:block; white-space:pre;color:#404040;'> with a 10.12+ SDK.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Also removes inappropriate "return" statements from two of the
</span><span style='display:block; white-space:pre;color:#404040;'> functions, which caused warnings from some compilers.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> TESTED:
</span><span style='display:block; white-space:pre;color:#404040;'> Now builds with all compatible SDKs, and test passes.
</span>---
src/os_unfair_lock.c | 36 +++++++++++++++++++++++++++++++++---
1 file changed, 33 insertions(+), 3 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/os_unfair_lock.c b/src/os_unfair_lock.c
</span><span style='display:block; white-space:pre;color:#808080;'>index 4edd017..5703585 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/os_unfair_lock.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/os_unfair_lock.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,5 +1,5 @@
</span> /*
<span style='display:block; white-space:pre;background:#ffe0e0;'>- * Copyright (c) 2023
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Copyright (c) 2025
</span> *
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -17,12 +17,42 @@
</span> /* MP support header */
#include "MacportsLegacySupport.h"
<span style='display:block; white-space:pre;background:#e0ffe0;'>+/* Do our SDK-related setup */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <_macports_extras/sdkversion.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> #if __MPLS_LIB_SUPPORT_OS_UNFAIR_LOCK__
<span style='display:block; white-space:pre;background:#e0ffe0;'>+/* Allow building with later SDK. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#if __MPLS_SDK_SUPPORT_OS_UNFAIR_LOCK__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> #include <os/lock.h>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#else /* !__MPLS_SDK_SUPPORT_OS_UNFAIR_LOCK__ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <stdint.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <stdbool.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+typedef int32_t OSSpinLock;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+typedef OSSpinLock *os_unfair_lock_t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bool OSSpinLockTry( volatile OSSpinLock *__lock );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+void OSSpinLockLock( volatile OSSpinLock *__lock );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+void OSSpinLockUnlock( volatile OSSpinLock *__lock );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#endif /* !__MPLS_SDK_SUPPORT_OS_UNFAIR_LOCK__ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Note that, depending on the SDK used, the caller's os_unfair_lock_t might be:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * int32_t *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * or:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * struct {int32_t} *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * But this doesn't affect the actual code.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> void os_unfair_lock_lock(os_unfair_lock_t lock) {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- return OSSpinLockLock(lock);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OSSpinLockLock(lock);
</span> }
bool os_unfair_lock_trylock(os_unfair_lock_t lock) {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -30,7 +60,7 @@ bool os_unfair_lock_trylock(os_unfair_lock_t lock) {
</span> }
void os_unfair_lock_unlock(os_unfair_lock_t lock) {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- return OSSpinLockUnlock(lock);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ OSSpinLockUnlock(lock);
</span> }
#endif /* __MPLS_LIB_SUPPORT_OS_UNFAIR_LOCK__ */
</pre><pre style='margin:0'>
</pre>