--- cgx_2.18.orig/src/setFunktions.c	2022-07-25 18:42:56.000000000 -0500
+++ cgx_2.18/src/setFunktions.c	2022-07-25 19:08:02.000000000 -0500
@@ -30,6 +30,7 @@
 #include <dirent.h>
 #include <xwd.h>
 
+#include <semaphore.h>
 
 #define TEST 0
 #define NOTHREADING 0
@@ -12087,7 +12088,9 @@
 
 #else
 
-  if(sem_init(&sem_map3d, 0, 1) < 0) printf("Error in:sem_init\n");
+  sem_t *mptr = sem_open("/sem_map3d", O_CREAT, 0644, 1);
+  sem_unlink("/sem_map3d");
+  if((mptr = SEM_FAILED)) printf("Error in:sem_open\n");
   if(threads>set[set1].anz_n) { nlocalThreads=set[set1].anz_n; }
   else nlocalThreads=threads;
   //nlocalThreads=1;
@@ -12137,7 +12139,7 @@
   glob_map3d=0;
   free(tid); tid=NULL;
   free(targ); targ=NULL;
-  if(sem_destroy(&sem_map3d) < 0) printf("Error in:sem_init\n");
+  if(sem_close(mptr) < 0) printf("Error in:sem_open\n");
 #endif
 
   if(rsort) free(rsort);
