Diff for /rpl/src/semaphores.c between versions 1.9 and 1.10

version 1.9, 2010/08/13 21:00:37 version 1.10, 2010/08/17 11:59:28
Line 40  sem_t * Line 40  sem_t *
 sem_init2(unsigned int valeur, enum t_semaphore semaphore)  sem_init2(unsigned int valeur, enum t_semaphore semaphore)
 {  {
     snprintf(noms_semaphores[semaphore], LONGUEUR_NOM_SEMAPHORE,      snprintf(noms_semaphores[semaphore], LONGUEUR_NOM_SEMAPHORE,
             "/RPLSEM-%d-%llu-%d", (int) getpid(),              "/RPL-SEM-%d-%llu-%d", (int) getpid(),
             (unsigned long long) pthread_self(),              (unsigned long long) pthread_self(),
             (int) semaphore);              (int) semaphore);
     return(sem_open(noms_semaphores[semaphore], O_CREAT,      return(sem_open(noms_semaphores[semaphore], O_CREAT,
Line 473  sem_t Line 473  sem_t
     sem_t               *semaphore;      sem_t               *semaphore;
   
 #   ifndef OS2  #   ifndef OS2
       file                *desc;
   
       key_t               clef;
   
     union semun         argument;      union semun         argument;
 #   endif  #   endif
   
Line 656  sem_t Line 660  sem_t
   
 #       ifndef OS2  #       ifndef OS2
   
         (*semaphore) = semget(ftok(nom_absolu, 1), 1,          if ((desc = fopen(nom_absolu, "w")) == NULL)
           {
               free(semaphore);
               free(nom_absolu);
   
               return(SEM_FAILED);
           }
   
           fclose(desc);
   
           if ((clef = ftok(nom_absolu, 1)) == -1)
           {
               free(semaphore);
               free(nom_absolu);
   
               return(SEM_FAILED);
           }
   
           (*semaphore) = semget(clef, 1,
                 ((oflag & O_CREAT) == 0) ? 0 : IPC_CREAT |                  ((oflag & O_CREAT) == 0) ? 0 : IPC_CREAT |
                 ((oflag & O_EXCL) == 0) ? 0 : IPC_EXCL |                  ((oflag & O_EXCL) == 0) ? 0 : IPC_EXCL |
                 ((oflag & S_IRUSR) == 0) ? 0 : SEM_R |                  ((oflag & S_IRUSR) == 0) ? 0 : SEM_R |

Removed from v.1.9  
changed lines
  Added in v.1.10


CVSweb interface <joel.bertrand@systella.fr>