Diff for /rpl/src/semaphores.c between versions 1.7 and 1.8

version 1.7, 2010/08/06 15:33:04 version 1.8, 2010/08/09 13:51:48
Line 107  sem_getvalue2(sem_t *semaphore, int *val Line 107  sem_getvalue2(sem_t *semaphore, int *val
   
 #endif  #endif
   
 #ifdef OS2  #ifdef SEMAPHORES_SYSV
   
 /*  /*
 ================================================================================  ================================================================================
Line 123  sem_getvalue2(sem_t *semaphore, int *val Line 123  sem_getvalue2(sem_t *semaphore, int *val
   
 extern unsigned char *chemin_semaphores_SysV;  extern unsigned char *chemin_semaphores_SysV;
   
   #ifndef UNION_SEMUN
   union semun
   {
       int                 val;
       struct semid_ds     *buf;
       unsigned short      *array;
       struct seminfo      *__buf;
   };
   #endif
   
 int  int
 sem_init(sem_t *semaphore, int shared, unsigned int valeur)  sem_init_SysV(sem_t *semaphore, int shared, unsigned int valeur)
 {  {
       int             ios;
   
     union semun     argument;      union semun     argument;
   
     if (shared != 0)      if (shared != 0)
Line 141  sem_init(sem_t *semaphore, int shared, u Line 153  sem_init(sem_t *semaphore, int shared, u
     }      }
   
     argument.val = valeur;      argument.val = valeur;
     semctl((*semaphore), 0, SETVAL, argument);      ios = semctl((*semaphore), 0, SETVAL, argument);
   
     return(0);      return(ios);
 }  }
   
 int  int
 sem_destroy(sem_t *semaphore)  sem_destroy_SysV(sem_t *semaphore)
 {  {
     if (semctl((*semaphore), IPC_RMID, 0) == -1)      if (semctl((*semaphore), IPC_RMID, 0) == -1)
     {      {
Line 158  sem_destroy(sem_t *semaphore) Line 170  sem_destroy(sem_t *semaphore)
 }  }
   
 int  int
 sem_wait(sem_t *semaphore)  sem_wait_SysV(sem_t *semaphore)
 {  {
     struct sembuf       commande;      struct sembuf       commande;
   
Line 175  sem_wait(sem_t *semaphore) Line 187  sem_wait(sem_t *semaphore)
 }  }
   
 int  int
 sem_trywait(sem_t *semaphore)  sem_trywait_SysV(sem_t *semaphore)
 {  {
     struct sembuf       commande;      struct sembuf       commande;
   
Line 197  sem_trywait(sem_t *semaphore) Line 209  sem_trywait(sem_t *semaphore)
 }  }
   
 int  int
 sem_post(sem_t *semaphore)  sem_post_SysV(sem_t *semaphore)
 {  {
     struct sembuf       commande;      struct sembuf       commande;
   
Line 214  sem_post(sem_t *semaphore) Line 226  sem_post(sem_t *semaphore)
 }  }
   
 int  int
 sem_getvalue(sem_t *semaphore, int *valeur)  sem_getvalue_SysV(sem_t *semaphore, int *valeur)
 {  {
     (*valeur) = semctl((*semaphore), 0, GETVAL);      (*valeur) = semctl((*semaphore), 0, GETVAL);
   
Line 227  sem_getvalue(sem_t *semaphore, int *vale Line 239  sem_getvalue(sem_t *semaphore, int *vale
 }  }
   
 sem_t  sem_t
 *sem_open(const char *nom, int oflag, ...)  *sem_open_SysV(const char *nom, int oflag, ...)
 //*sem_open(const char *nom, int oflag)  //*sem_open(const char *nom, int oflag)
 //*sem_open(const char *nom, int oflag, mode_t mode, unsigned int value)  //*sem_open(const char *nom, int oflag, mode_t mode, unsigned int value)
 {  {
Line 301  sem_t Line 313  sem_t
   
     free(nom_absolu);      free(nom_absolu);
   
     return(SEM_FAILED);      return(semaphore);
 }  }
   
 int  int
 sem_close(sem_t *semaphore)  sem_close_SysV(sem_t *semaphore)
 {  {
     free(semaphore);      free(semaphore);
     return(0);      return(0);
 }  }
   
 int  int
 sem_unlink(const char *nom)  sem_unlink_SysV(const char *nom)
 {  {
     sem_t               semaphore;      sem_t               semaphore;
   

Removed from v.1.7  
changed lines
  Added in v.1.8


CVSweb interface <joel.bertrand@systella.fr>