Diff for /rpl/src/semaphores.c between versions 1.35 and 1.38

version 1.35, 2011/09/20 15:45:53 version 1.38, 2011/09/21 10:33:40
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.3    RPL/2 (R) version 4.1.4
   Copyright (C) 1989-2011 Dr. BERTRAND Joël    Copyright (C) 1989-2011 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
Line 297  sem_init_SysV(sem_t *semaphore, int shar Line 297  sem_init_SysV(sem_t *semaphore, int shar
                 return(-1);                  return(-1);
             }              }
   
             sprintf((*semaphore).path, "%s/RPL-SIGSEMAPHORE-%d-%llX",              sprintf((*semaphore).path, "%s/RPL-SEMAPHORE-%d-%llX-%d",
                     racine_segment, pthread_self(),                      racine_segment, (int) getpid(), pthread_self(), shared);
                     (int) getpid(), pthread_self());  
   
             if ((desc = open((*semaphore).path, O_RDWR | O_CREAT | O_EXCL,              if ((desc = open((*semaphore).path, O_RDWR | O_CREAT | O_EXCL,
                     S_IRUSR | S_IWUSR)) == -1)                      S_IRUSR | S_IWUSR)) == -1)
Line 309  sem_init_SysV(sem_t *semaphore, int shar Line 308  sem_init_SysV(sem_t *semaphore, int shar
             }              }
   
             (*semaphore).pid = getpid();              (*semaphore).pid = getpid();
             (*semaphore).tid = pthread_slef();              (*semaphore).tid = pthread_self();
             clef = ftok((*semaphore).path, 1);              clef = ftok((*semaphore).path, 1);
             close(desc);              close(desc);
   
Line 1008  sem_unlink_SysV(const char *nom) Line 1007  sem_unlink_SysV(const char *nom)
 {  {
     // Détruit un sémaphore nommé créé par sem_open_SysV()      // Détruit un sémaphore nommé créé par sem_open_SysV()
 #   ifndef OS2 // IPCS_SYSV  #   ifndef OS2 // IPCS_SYSV
         semctl(semget(ftok(nom_absolu, 1), 0, 0), 0, IPC_RMID);          semctl(semget(ftok(nom, 1), 0, 0), 0, IPC_RMID);
   
         if (unlink(nom_absolu) == -1)          if (unlink(nom) == -1)
         {          {
             free(nom_absolu);              free(nom_absolu);
             return(EACCES);              return(EACCES);
         }          }
   
         free(nom_absolu);          free(nom);
         return(0);          return(0);
 #   else  #   else
   

Removed from v.1.35  
changed lines
  Added in v.1.38


CVSweb interface <joel.bertrand@systella.fr>