<pre style='margin:0'>
Marcus Calhoun-Lopez (MarcusCalhoun-Lopez) pushed a commit to branch master
in repository macports-legacy-support.

</pre>
<p><a href="https://github.com/macports/macports-legacy-support/commit/f84226c35fde43cfeaa5ff8bd074263d7472283a">https://github.com/macports/macports-legacy-support/commit/f84226c35fde43cfeaa5ff8bd074263d7472283a</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new f84226c  Add test for os/lock.h
</span>f84226c is described below

<span style='display:block; white-space:pre;color:#808000;'>commit f84226c35fde43cfeaa5ff8bd074263d7472283a
</span>Author: Marcus Calhoun-Lopez <mcalhoun@macports.org>
AuthorDate: Thu Mar 30 11:24:00 2023 -0700

<span style='display:block; white-space:pre;color:#404040;'>    Add test for os/lock.h
</span>---
 test/test_os_unfair_lock.cpp | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/test/test_os_unfair_lock.cpp b/test/test_os_unfair_lock.cpp
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..b5a2648
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/test/test_os_unfair_lock.cpp
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,35 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <os/lock.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <iostream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <cassert>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// see https://github.com/macports/macports-legacy-support/commit/c39f56bd335ac0f8692a5c67a9e5f0630dbbed58#r106208628
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+// for reason test is in C++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+int main() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    std::cout << "***os_unfair_lock started\n";
</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;'>+   os_unfair_lock lock = OS_UNFAIR_LOCK_INIT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   os_unfair_lock_lock(&lock);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   assert( !os_unfair_lock_trylock(&lock) && "should return false if the lock was already locked" );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // critical section here
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   os_unfair_lock_unlock(&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;'>+    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   os_unfair_lock lock = OS_UNFAIR_LOCK_INIT;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   assert( os_unfair_lock_trylock(&lock) && "should return true if the lock was successfully locked");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   assert( !os_unfair_lock_trylock(&lock) && "should return false if the lock was already locked" );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // critical section here
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   os_unfair_lock_unlock(&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;'>+    std::cout << "***os_unfair_lock completed\n\n";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span></pre><pre style='margin:0'>

</pre>