Whamcloud - gitweb
LU-2675 build: remove Darwin "support"
[fs/lustre-release.git] / libcfs / include / libcfs / util / platform.h
index cd85563..c2154e1 100644 (file)
@@ -73,171 +73,6 @@ typedef pthread_cond_t      l_cond_t;
 #define l_cond_wait(c, s)      pthread_cond_wait(c, s)
 #endif
 
-#elif __APPLE__
-
-#ifdef HAVE_LIBREADLINE
-#define READLINE_LIBRARY
-#include <readline/readline.h>
-typedef VFunction       rl_vintfunc_t;
-typedef VFunction       rl_voidfunc_t;
-#endif /* HAVE_LIBREADLINE */
-
-#include <stdlib.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <sys/shm.h>
-#include <sys/semaphore.h>
-
-/*
- * POSIX compliant inter-process synchronization aren't supported well
- * in Darwin, pthread_mutex_t and pthread_cond_t can only work as
- * inter-thread synchronization, they wouldn't work even being put in
- * shared memory for multi-process. PTHREAD_PROCESS_SHARED is not 
- * supported by Darwin also (pthread_mutexattr_setpshared() with the 
- * PTHREAD_PROCESS_SHARED attribute will return EINVAL). 
- *
- * The only inter-process sychronization mechanism can be used in Darwin
- * is POSIX NAMED semaphores and file lock, here we use NAMED semaphore
- * to implement mutex and condition. 
- *
- * XXX Liang:
- * They are just proto-type now, more tests are needed. 
- */
-#define L_LOCK_DEBUG           (0)             
-
-#define L_SEM_NAMESIZE         32
-
-typedef struct {
-       sem_t           *s_sem;
-#if L_LOCK_DEBUG
-       char            s_name[L_SEM_NAMESIZE];
-#endif
-} l_sem_t;
-
-typedef l_sem_t         l_mutex_t;
-
-typedef struct {
-       l_mutex_t       c_guard;
-       int             c_count;
-       l_sem_t         c_waiter;
-} l_cond_t;
-
-static inline int l_sem_init(l_sem_t *sem, int val)
-{
-       char *s_name;
-#if L_LOCK_DEBUG
-       s_name = sem->s_name;
-#else
-       char buf[L_SEM_NAMESIZE];
-       s_name = buf;
-#endif
-       /* get an unique name for named semaphore */
-       snprintf(s_name, L_SEM_NAMESIZE, "%d-%p", (int)getpid(), sem);
-       sem->s_sem = sem_open(s_name, O_CREAT, 0600, val);
-       if ((int)sem->s_sem == SEM_FAILED) {
-               fprintf(stderr, "lock %s creating fail: %d, %d!\n",
-                               s_name, (int)sem->s_sem, errno);
-               return -1;
-       } else {
-#if L_LOCK_DEBUG
-               printf("open lock: %s\n", s_name);
-#endif
-       }
-       return 0;
-}
-
-static inline void l_sem_done(l_sem_t *sem)
-{
-#if L_LOCK_DEBUG
-       printf("close lock: %s.\n", sem->s_name);
-#endif
-       sem_close(sem->s_sem);
-}
-
-static inline void l_sem_down(l_sem_t *sem)
-{
-#if L_LOCK_DEBUG
-       printf("sem down :%s\n", sem->s_name);
-#endif
-       sem_wait(sem->s_sem);
-}
-
-static inline void l_sem_up(l_sem_t *sem)
-{
-#if L_LOCK_DEBUG
-       printf("sem up  :%s\n", sem->s_name);
-#endif
-       sem_post(sem->s_sem);
-}
-
-static inline void l_mutex_init(l_mutex_t *mutex)
-{
-       l_sem_init((l_sem_t *)mutex, 1);
-}
-
-static inline void l_mutex_init_locked(l_mutex_t *mutex)
-{
-       l_sem_init((l_sem_t *)mutex, 0);
-}
-
-static inline void l_mutex_done(l_mutex_t *mutex)
-{
-       l_sem_done((l_sem_t *)mutex);
-}
-
-static inline void l_mutex_lock(l_mutex_t *mutex)
-{
-#if L_LOCK_DEBUG
-       printf("lock cfs_mutex  :%s\n", mutex->s_name);
-#endif
-       sem_wait(mutex->s_sem);
-}
-
-static inline void l_mutex_unlock(l_mutex_t *mutex)
-{
-#if L_LOCK_DEBUG
-       printf("unlock cfs_mutex: %s\n", mutex->s_name);
-#endif
-       sem_post(mutex->s_sem);
-}
-
-static inline void l_cond_init(l_cond_t *cond)
-{
-       l_mutex_init(&cond->c_guard);
-       l_sem_init(&cond->c_waiter, 0);
-       cond->c_count = 0;
-}
-
-static inline void l_cond_done(l_cond_t *cond)
-{
-       if (cond->c_count != 0)
-               fprintf(stderr, "your waiter list is not empty: %d!\n", cond->c_count);
-       l_mutex_done(&cond->c_guard);
-       l_sem_done(&cond->c_waiter);
-}
-
-static inline void l_cond_wait(l_cond_t *cond, l_mutex_t *lock)
-{
-       l_mutex_lock(&cond->c_guard);
-       cond->c_count --;
-       l_mutex_unlock(&cond->c_guard);
-       l_mutex_unlock(lock);
-       l_sem_down(&cond->c_waiter);
-       l_mutex_lock(lock);
-}
-
-static inline void l_cond_broadcast(l_cond_t *cond)
-{
-       l_mutex_lock(&cond->c_guard);
-       while (cond->c_count < 0) {
-               l_sem_up(&cond->c_waiter);
-               cond->c_count ++;
-       }
-       l_mutex_unlock(&cond->c_guard);
-}
-
 #else /* other platform */
 
 #ifdef HAVE_LIBREADLINE