--- src/util/semaphore.c.orig	Tue Dec 16 04:05:13 2003
+++ src/util/semaphore.c	Mon Dec 29 19:14:47 2003
@@ -644,45 +644,47 @@
 	filename,
 	linenumber);
 #elif SOMEBSD || OSX
-  int cnt;
-
+  { 
+    int cnt;
+    
 #if DEBUG_SEMUPDOWN
-  LOG(LOG_DEBUG,
-      "DEBUG: up on IPC semaphore\n");
+    LOG(LOG_DEBUG,
+	"DEBUG: up on IPC semaphore\n");
 #endif
-  MUTEX_LOCK(&sem->internalLock);
-  FLOCK(sem->fd, LOCK_EX);
-  LSEEK(sem->fd, 0, SEEK_SET);
-  if (sizeof(int) != READ(sem->fd, &cnt, sizeof(int))) {
-    LOG(LOG_WARNING,
-	"WARNING: could not read IPC semaphore count (%s) at %s:%d!\n",
-	STRERROR(errno),
-	__FILE__,
-	__LINE__);
-    MUTEX_UNLOCK(&sem->internalLock);
-    return;
-  }
-  cnt = htonl(ntohl(cnt)+1);
-  LSEEK(sem->fd, 0, SEEK_SET);
-  if (sizeof(int) != write(sem->fd, &cnt, sizeof(int)))
-    LOG(LOG_WARNING,
-	"WARNING: could not write to IPC file %s (%s) at %s:%d\n",
-	sem->filename,
-	STRERROR(errno),
-	__FILE__,
-	__LINE__);
+    MUTEX_LOCK(&sem->internalLock);
+    FLOCK(sem->fd, LOCK_EX);
+    LSEEK(sem->fd, 0, SEEK_SET);
+    if (sizeof(int) != READ(sem->fd, &cnt, sizeof(int))) {
+      LOG(LOG_WARNING,
+	  "WARNING: could not read IPC semaphore count (%s) at %s:%d!\n",
+	  STRERROR(errno),
+	  __FILE__,
+	  __LINE__);
+      MUTEX_UNLOCK(&sem->internalLock);
+      return;
+    }
+    cnt = htonl(ntohl(cnt)+1);
+    LSEEK(sem->fd, 0, SEEK_SET);
+    if (sizeof(int) != write(sem->fd, &cnt, sizeof(int)))
+      LOG(LOG_WARNING,
+	  "WARNING: could not write to IPC file %s (%s) at %s:%d\n",
+	  sem->filename,
+	  STRERROR(errno),
+	  __FILE__,
+	  __LINE__);
 #if DEBUG_SEMUPDOWN
-  else
-    LOG(LOG_DEBUG,
-	"DEBUG: wrote count %d\n",
-	ntohl(cnt));
+    else
+      LOG(LOG_DEBUG,
+	  "DEBUG: wrote count %d\n",
+	  ntohl(cnt));
 #endif
-  FLOCK(sem->fd, LOCK_UN);
-  MUTEX_UNLOCK(&sem->internalLock);
+    FLOCK(sem->fd, LOCK_UN);
+    MUTEX_UNLOCK(&sem->internalLock);
 #if DEBUG_SEMUPDOWN
-  LOG(LOG_DEBUG,
-      "DEBUG: up on IPC semaphore returns\n");
+    LOG(LOG_DEBUG,
+	"DEBUG: up on IPC semaphore returns\n");
 #endif
+  }
 #else
 #endif
 }
@@ -777,53 +779,55 @@
     }
   }
 #elif SOMEBSD || OSX
-  int cnt;
-
+  {
+    int cnt;
+    
+#if DEBUG_SEMUPDOWN
+    LOG(LOG_DEBUG,
+	"DEBUG: down on IPC semaphore\n");
+#endif
+    MUTEX_LOCK(&sem->internalLock);
+    FLOCK(sem->fd, LOCK_EX);
+    cnt = ntohl(0);
+    while (htonl(cnt) == 0) {
+      LSEEK(sem->fd, 0, SEEK_SET);
+      if (sizeof(int) != READ(sem->fd, &cnt, sizeof(int))) {
+	LOG(LOG_WARNING,
+	    "WARNING: could not read IPC semaphore count (%s) at %s:%d!\n",
+	    STRERROR(errno),
+	    __FILE__,
+	    __LINE__);
+	FLOCK(sem->fd, LOCK_UN);
+	MUTEX_UNLOCK(&sem->internalLock);
+	return;
+      }
+      if (htonl(cnt) == 0) {
+	/* busy wait! */
+	FLOCK(sem->fd, LOCK_UN);
+	gnunet_util_sleep(50 * cronMILLIS);
 #if DEBUG_SEMUPDOWN
-  LOG(LOG_DEBUG,
-      "DEBUG: down on IPC semaphore\n");
+	LOG(LOG_DEBUG,
+	    "DEBUG: down on IPC semaphore: busy waiting...\n");
 #endif
-  MUTEX_LOCK(&sem->internalLock);
-  FLOCK(sem->fd, LOCK_EX);
-  cnt = ntohl(0);
-  while (htonl(cnt) == 0) {
+	FLOCK(sem->fd, LOCK_EX);
+      }
+    }
+    
+    cnt = htonl(ntohl(cnt)-1);
     LSEEK(sem->fd, 0, SEEK_SET);
-    if (sizeof(int) != READ(sem->fd, &cnt, sizeof(int))) {
+    if (sizeof(int) != write(sem->fd, &cnt, sizeof(int)))
       LOG(LOG_WARNING,
-	  "WARNING: could not read IPC semaphore count (%s) at %s:%d!\n",
-	  STRERROR(errno),
+	  "WARNING: could not write update to IPC file %s at %s:%d\n",
+	  sem->filename,
 	  __FILE__,
-	  __LINE__);
-      FLOCK(sem->fd, LOCK_UN);
-      MUTEX_UNLOCK(&sem->internalLock);
-      return;
-    }
-    if (htonl(cnt) == 0) {
-      /* busy wait! */
-      FLOCK(sem->fd, LOCK_UN);
-      gnunet_util_sleep(50 * cronMILLIS);
+	  __LINE__); 
+    FLOCK(sem->fd, LOCK_UN);
+    MUTEX_UNLOCK(&sem->internalLock);
 #if DEBUG_SEMUPDOWN
-      LOG(LOG_DEBUG,
-	  "DEBUG: down on IPC semaphore: busy waiting...\n");
+    LOG(LOG_DEBUG,
+	"DEBUG: down on IPC semaphore returns\n");
 #endif
-      FLOCK(sem->fd, LOCK_EX);
-    }
   }
-
-  cnt = htonl(ntohl(cnt)-1);
-  LSEEK(sem->fd, 0, SEEK_SET);
-  if (sizeof(int) != write(sem->fd, &cnt, sizeof(int)))
-    LOG(LOG_WARNING,
-	"WARNING: could not write update to IPC file %s at %s:%d\n",
-	sem->filename,
-	__FILE__,
-	__LINE__); 
-  FLOCK(sem->fd, LOCK_UN);
-  MUTEX_UNLOCK(&sem->internalLock);
-#if DEBUG_SEMUPDOWN
-  LOG(LOG_DEBUG,
-      "DEBUG: down on IPC semaphore returns\n");
-#endif
 #else
 #endif
 }
@@ -888,41 +892,43 @@
 	filename,
 	linenumber);
 #elif SOMEBSD || OSX
-  int cnt;  
-
+  {
+    int cnt;  
+    
 #if DEBUG_SEMUPDOWN
-  LOG(LOG_DEBUG,
-      "DEBUG: destroying IPC semaphore\n");
+    LOG(LOG_DEBUG,
+	"DEBUG: destroying IPC semaphore\n");
 #endif
-  MUTEX_DESTROY(&sem->internalLock);
-  FLOCK(sem->fd, LOCK_EX);
-  LSEEK(sem->fd, sizeof(int), SEEK_SET);
-  if (sizeof(int) == READ(sem->fd, &cnt, sizeof(int))) {
-    cnt = htonl(ntohl(cnt)-1);
+    MUTEX_DESTROY(&sem->internalLock);
+    FLOCK(sem->fd, LOCK_EX);
     LSEEK(sem->fd, sizeof(int), SEEK_SET);
-    if (sizeof(int) != write(sem->fd, &cnt, sizeof(int)))
+    if (sizeof(int) == READ(sem->fd, &cnt, sizeof(int))) {
+      cnt = htonl(ntohl(cnt)-1);
+      LSEEK(sem->fd, sizeof(int), SEEK_SET);
+      if (sizeof(int) != write(sem->fd, &cnt, sizeof(int)))
+	LOG(LOG_WARNING,
+	    "WARNING: could not write to IPC file %s at %s:%d\n",
+	    sem->filename,
+	    __FILE__,
+	    __LINE__);
+      if (ntohl(cnt) == 0) {
+#if DEBUG_SEMUPDOWN
+	LOG(LOG_DEBUG,
+	    "DEBUG: removing IPC file %s -- last using process is done.\n",
+	    sem->filename);
+#endif
+	UNLINK(sem->filename); 
+      }
+    } else 
       LOG(LOG_WARNING,
-	  "WARNING: could not write to IPC file %s at %s:%d\n",
+	  "WARNING: could not read process count of IPC %s at %s:%d\n",
 	  sem->filename,
 	  __FILE__,
 	  __LINE__);
-    if (ntohl(cnt) == 0) {
-#if DEBUG_SEMUPDOWN
-      LOG(LOG_DEBUG,
-	  "DEBUG: removing IPC file %s -- last using process is done.\n",
-	  sem->filename);
-#endif
-      UNLINK(sem->filename); 
-    }
-  } else 
-    LOG(LOG_WARNING,
-	"WARNING: could not read process count of IPC %s at %s:%d\n",
-	sem->filename,
-	__FILE__,
-	__LINE__);
-  FREE(sem->filename);
-  FLOCK(sem->fd, LOCK_UN);
-  CLOSE(sem->fd);
+    FREE(sem->filename);
+    FLOCK(sem->fd, LOCK_UN);
+    CLOSE(sem->fd);
+  }
 #else
 #endif
   FREE(sem);