summaryrefslogtreecommitdiff
path: root/src/platform.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform.h')
-rw-r--r--src/platform.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/platform.h b/src/platform.h
index b4fb1b1..4905db0 100644
--- a/src/platform.h
+++ b/src/platform.h
@@ -2,13 +2,20 @@
#define _PLATFORM_H_
#include <pthread.h>
-
-#ifndef PSEMNAMLEN /* defined in macOS, but not in Linux */
-#define PSEMNAMLEN 31
-#endif
+#include <semaphore.h>
int nr_cpus(void);
int set_thread_affinity(pthread_t tid, int core);
-int get_random(int max);
+
+/*
+ * macOS does not support sem_init(). macOS (seems to) releases the
+ * named semaphore when associated mscp process finished. In linux,
+ * program (seems to) need to release named semaphore in /dev/shm by
+ * sem_unlink() explicitly. So, using sem_init() (unnamed semaphore)
+ * in linux and using sem_open() (named semaphore) in macOS without
+ * sem_unlink() are reasonable (?).
+ */
+sem_t *sem_create(int value);
+int sem_release(sem_t *sem);
#endif /* _PLATFORM_H_ */