<pre style='margin:0'>
ra1nb0w (ra1nb0w) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/a752f25c3d63757aad9eddbed3fa076d78cb199e">https://github.com/macports/macports-ports/commit/a752f25c3d63757aad9eddbed3fa076d78cb199e</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 a752f25c3d6 wdsp: update commit to 3a09e2c8
</span>a752f25c3d6 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit a752f25c3d63757aad9eddbed3fa076d78cb199e
</span>Author: Davide Gerhard <ra1nb0w@macports.org>
AuthorDate: Tue Feb 9 22:10:25 2021 +0100

<span style='display:block; white-space:pre;color:#404040;'>    wdsp: update commit to 3a09e2c8
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    waiting upstream to merge (already a few months) I choose to follow the
</span><span style='display:block; white-space:pre;color:#404040;'>    developer that is working on fixing the macOS code.
</span>---
 science/wdsp/Portfile                          |  15 ++--
 science/wdsp/files/fix-unused-semaphores.patch | 104 -------------------------
 2 files changed, 7 insertions(+), 112 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/wdsp/Portfile b/science/wdsp/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4c8cee85468..0315469ffcb 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/wdsp/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/wdsp/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13,17 +13,16 @@ description         WDSP is a full-featured signal processing library for Softwa
</span> long_description    ${description}
 homepage            https://github.com/TAPR/OpenHPSDR-wdsp
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup        g0orx wdsp c55342c5b15354a9ac2b8b16eb8748d5518f723c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version             20200720-[string range ${github.version} 0 7]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  a0a6ee1dbdb0d3e21e6c4bdb7a1b1e79a4236b41 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  35a61386b4883731f3d7f0a046e5ae73d9083f75227c4cbb60fe9df0734b0af3 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    1551664
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        dl1ycf wdsp 3a09e2c889538236e23fb47b1909578a8be3c213
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             20201209-[string range ${github.version} 0 7]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  8b3d467f7983c20c52f056d0bdc2a251f52ff344 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  f61534d2220e4cbe799af2b5f0c23b70175eb3842456abd0ac74346a6c8fc236 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    5659961
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span> 
 ## remove when upstream
 patchfiles-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    makefile_mac.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    fix-unused-semaphores.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    makefile_mac.patch
</span> 
 depends_lib-append \
     port:fftw-3
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/wdsp/files/fix-unused-semaphores.patch b/science/wdsp/files/fix-unused-semaphores.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 5bb4c9e03f4..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/wdsp/files/fix-unused-semaphores.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,104 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From bca808b6e43c34287219442b3f401885657a4f95 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: c vw <dl1ycf@darc.de>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Fri, 14 Aug 2020 11:04:14 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 2/3] report errors encountered during sem_init, and close
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- no-longer-used semaphores on MacOS.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- linux_port.c | 19 +++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 19 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/linux_port.c b/linux_port.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6459b4c..e08bc02 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- linux_port.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ linux_port.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -108,6 +108,9 @@ sem_t *LinuxCreateSemaphore(int attributes,int initial_count,int maximum_count,c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         sem=malloc(sizeof(sem_t));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   int result;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   result=sem_init(sem, 0, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (result < 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    perror("WDSP:CreateSemaphore");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   return sem;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -182,6 +185,22 @@ void SetThreadPriority(HANDLE thread, int priority)  {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int CloseHandle(HANDLE hObject) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Note a new Semaphore is allocated at each RX/TX transition, so after
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// about 200 RX/TX transitions, MacOS runs out of file descriptors (no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// new semaphores can be allocated, and rigctl cannot make any new
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// connections).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if (sem_close(hObject) < 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  perror("CloseHandle");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// possibly it would also be a good idea to do sem_destroy() here
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// this is actually a void function (return value never used).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From c37b82b17ce5e0ea093771c57ae26b6dabb90f01 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: c vw <dl1ycf@darc.de>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Fri, 14 Aug 2020 11:44:16 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 3/3] Release semaphore also in LINUX case
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- linux_port.c | 31 ++++++++++++++++++++++++-------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 24 insertions(+), 7 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/linux_port.c b/linux_port.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index e08bc02..14a2864 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- linux_port.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ linux_port.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -185,18 +185,35 @@ void SetThreadPriority(HANDLE thread, int priority)  {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int CloseHandle(HANDLE hObject) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// This routine is *ONLY* called to release semaphores
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- //
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--// Note a new Semaphore is allocated at each RX/TX transition, so after
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--// about 200 RX/TX transitions, MacOS runs out of file descriptors (no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--// new semaphores can be allocated, and rigctl cannot make any new
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--// connections).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// A semaphore is closed and re-allocated on each RX->TX transition.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// After about 200 RX/TX transitions, MacOS runs out of file descriptors
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// since MacOS only has named semaphores. As a consequence,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// no new semaphores can be allocated, and other parts of the program cannot
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// open new files ore make new connections.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Therefore we should close the semaphore.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- //
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if (sem_close(hObject) < 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  perror("CloseHandle");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if (sem_close((sem_t *)hObject) < 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  perror("WDSP:CloseHandle:SemCLose");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--// possibly it would also be a good idea to do sem_destroy() here
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Although the number of semaphores seems "unlimited" on RapianOS,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// this is nevertheless a memory leak (a sem_t is allocated before
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// sem_init is called, see above).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// So destroy the semaphore and (if this was successful) release the memory.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if (sem_destroy((sem_t *)hObject) < 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  perror("WDSP:CloseHandle:SemDestroy");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  // if sem_destroy failed, do not release storage
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  free(hObject);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // this is actually a void function (return value never used).
</span></pre><pre style='margin:0'>

</pre>