Check for NULL dispatch semaphore ptr on MAC
authorBill Lash <william.lash@gmail.com>
Fri, 28 Jun 2019 05:29:04 +0000 (00:29 -0500)
committerDavid Griffith <dave@661.org>
Sat, 29 Jun 2019 00:37:07 +0000 (17:37 -0700)
src/curses/ux_sema.h

index 7a01cd4def250531c0375d8b61616fb01d8102b8..baf3656a3a6bc56f6f3559e9b063f99bff956c3a 100644 (file)
@@ -49,17 +49,21 @@ static inline void  ux_sem_init(ux_sem_t *sem, int pshared, unsigned int value)
 
 static inline void  ux_sem_post(ux_sem_t *sem)
 {
-    dispatch_semaphore_signal(sem->dsem);
+    if (sem->dsem != NULL)
+       dispatch_semaphore_signal(sem->dsem);
 }
 
 static inline void ux_sem_wait(ux_sem_t *sem)
 {
-    dispatch_semaphore_wait(sem->dsem, DISPATCH_TIME_FOREVER);
+    if (sem->dsem != NULL)
+       dispatch_semaphore_wait(sem->dsem, DISPATCH_TIME_FOREVER);
 }
 
 static inline int ux_sem_trywait(ux_sem_t *sem)
 {
-    return (int) dispatch_semaphore_wait(sem->dsem, DISPATCH_TIME_NOW);
+    if (sem->dsem != NULL)
+       return (int) dispatch_semaphore_wait(sem->dsem, DISPATCH_TIME_NOW);
+    return -1;
 }
 #else
 #include <semaphore.h>