--- rpl/src/semaphores.c 2015/01/05 15:32:25 1.67 +++ rpl/src/semaphores.c 2015/01/27 14:18:09 1.68 @@ -32,7 +32,7 @@ nom_segment_semaphore(pid_t pid, int ord { unsigned char *fichier; - if ((fichier = malloc((1 + 256 + 1) * sizeof(unsigned char))) == NULL) + if ((fichier = sys_malloc((1 + 256 + 1) * sizeof(unsigned char))) == NULL) { return(NULL); } @@ -47,7 +47,7 @@ nom_segment_semaphore_thread(pid_t pid, { unsigned char *fichier; - if ((fichier = malloc((1 + 256 + 1) * sizeof(unsigned char))) == NULL) + if ((fichier = sys_malloc((1 + 256 + 1) * sizeof(unsigned char))) == NULL) { return(NULL); } @@ -84,7 +84,7 @@ sem_init2(unsigned int valeur, pid_t pid semaphore = sem_open(chemin, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR, valeur); - free(chemin); + sys_free(chemin); return(semaphore); } @@ -104,7 +104,7 @@ sem_init3(unsigned int valeur, pid_t pid semaphore = sem_open(chemin, O_CREAT | O_EXCL | O_RDWR, S_IRUSR | S_IWUSR, valeur); - free(chemin); + sys_free(chemin); return(semaphore); } @@ -123,7 +123,7 @@ sem_open2(pid_t pid, int ordre) } semaphore = sem_open(chemin, O_RDWR); - free(chemin); + sys_free(chemin); return(semaphore); } @@ -144,7 +144,7 @@ sem_destroy2(sem_t *semaphore, pid_t pid } erreur = sem_unlink(chemin); - free(chemin); + sys_free(chemin); return(erreur); } @@ -165,7 +165,7 @@ sem_destroy3(sem_t *semaphore, pid_t pid } erreur = sem_unlink(chemin); - free(chemin); + sys_free(chemin); return(erreur); } @@ -290,7 +290,7 @@ sem_init_SysV(sem_t *semaphore, int shar else { // Sémaphore partagé entre plusieurs processus - if (((*semaphore).path = malloc((strlen(racine_segment) + if (((*semaphore).path = sys_malloc((strlen(racine_segment) + 2 + 256 + 1) * sizeof(unsigned char))) == NULL) { return(-1); @@ -304,7 +304,7 @@ sem_init_SysV(sem_t *semaphore, int shar if ((desc = open((*semaphore).path, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR)) == -1) { - free((*semaphore).path); + sys_free((*semaphore).path); return(-1); } @@ -315,7 +315,7 @@ sem_init_SysV(sem_t *semaphore, int shar if (clef == -1) { - free((*semaphore).path); + sys_free((*semaphore).path); return(-1); } @@ -339,26 +339,26 @@ sem_init_SysV(sem_t *semaphore, int shar psem = semaphore; - if (((*psem).cnt = malloc(sizeof(ULONG))) == NULL) + if (((*psem).cnt = sys_malloc(sizeof(ULONG))) == NULL) { - free(psem); + sys_free(psem); errno = ENOMEM; return(-1); } - if (((*psem).nopened = malloc(sizeof(ULONG))) == NULL) + if (((*psem).nopened = sys_malloc(sizeof(ULONG))) == NULL) { - free((*psem).cnt); - free(psem); + sys_free((*psem).cnt); + sys_free(psem); errno = ENOMEM; return(-1); } if (DosCreateMutexSem(NULL, &((*psem).hmtx), 0, 0) != 0) { - free((*psem).cnt); - free((*psem).nopened); - free(psem); + sys_free((*psem).cnt); + sys_free((*psem).nopened); + sys_free(psem); return(-1); } @@ -366,9 +366,9 @@ sem_init_SysV(sem_t *semaphore, int shar != 0) { DosCloseMutexSem((*psem).hmtx); - free((*psem).cnt); - free((*psem).nopened); - free(psem); + sys_free((*psem).cnt); + sys_free((*psem).nopened); + sys_free(psem); return(-1); } @@ -427,8 +427,8 @@ sem_destroy_SysV(sem_t *semaphore) if ((*psem).shared == 0) { - free((*psem).cnt); - free((*psem).nopened); + sys_free((*psem).cnt); + sys_free((*psem).nopened); } else { @@ -440,7 +440,7 @@ sem_destroy_SysV(sem_t *semaphore) if ((*psem).allocated != 0) { - free(psem); + sys_free(psem); } return(0); @@ -719,7 +719,7 @@ sem_t # endif # ifndef OS2 // IPCS_SYSV - if ((nom_absolu = malloc((strlen(racine_segment) + strlen(nom) + if ((nom_absolu = sys_malloc((strlen(racine_segment) + strlen(nom) + 2) * sizeof(unsigned char))) == NULL) { return(SEM_FAILED); @@ -727,7 +727,7 @@ sem_t sprintf(nom_absolu, "%s/%s", racine_segment, nom); - if ((semaphore = malloc(sizeof(sem_t))) == NULL) + if ((semaphore = sys_malloc(sizeof(sem_t))) == NULL) { return(SEM_FAILED); } @@ -736,8 +736,8 @@ sem_t (*semaphore).pid = getpid(); (*semaphore).tid = pthread_self(); # else - if ((nom_segment = malloc((strlen(racine_memoire_OS2) + strlen(nom) + 1) - * sizeof(unsigned char))) == NULL) + if ((nom_segment = sys_malloc((strlen(racine_memoire_OS2) + strlen(nom) + + 1) * sizeof(unsigned char))) == NULL) { return(SEM_FAILED); } @@ -755,8 +755,8 @@ sem_t ptr++; } - if ((nom_absolu = malloc((strlen(racine_semaphores_OS2) + strlen(nom) - + 2) * sizeof(unsigned char))) == NULL) + if ((nom_absolu = sys_malloc((strlen(racine_semaphores_OS2) + + strlen(nom) + 2) * sizeof(unsigned char))) == NULL) { return(SEM_FAILED); } @@ -776,7 +776,7 @@ sem_t (*(ptr + 1)) = d_code_fin_chaine; - if ((psem = malloc(sizeof(sem_t))) == NULL) + if ((psem = sys_malloc(sizeof(sem_t))) == NULL) { return(SEM_FAILED); } @@ -802,16 +802,16 @@ sem_t if ((*semaphore).sem == -1) { - free(semaphore); - free(nom_absolu); + sys_free(semaphore); + sys_free(nom_absolu); return(SEM_FAILED); } # else // OS/2 - if ((psem = malloc(sizeof(sem_t))) == NULL) + if ((psem = sys_malloc(sizeof(sem_t))) == NULL) { - free(nom_absolu); - free(nom_segment); + sys_free(nom_absolu); + sys_free(nom_segment); return(SEM_FAILED); } @@ -819,9 +819,9 @@ sem_t if (DosOpenMutexSem(nom_absolu, &((*psem).hmtx)) != 0) { - free(psem); - free(nom_absolu); - free(nom_segment); + sys_free(psem); + sys_free(nom_absolu); + sys_free(nom_segment); return(SEM_FAILED); } @@ -832,9 +832,9 @@ sem_t { DosCloseMutexSem((*psem).hmtx); - free(psem); - free(nom_absolu); - free(nom_segment); + sys_free(psem); + sys_free(nom_absolu); + sys_free(nom_segment); return(SEM_FAILED); } @@ -844,14 +844,14 @@ sem_t { DosCloseMutexSem((*psem).hmtx); - free(nom_absolu); - free(nom_segment); - free(psem); + sys_free(nom_absolu); + sys_free(nom_segment); + sys_free(psem); return(SEM_FAILED); } - free(nom_segment); + sys_free(nom_segment); (*psem).cnt = (ULONG *) base; (*psem).nopened = ((ULONG *) base) + 1; @@ -861,9 +861,9 @@ sem_t { DosCloseMutexSem((*psem).hmtx); - free(nom_absolu); - free(nom_segment); - free(psem); + sys_free(nom_absolu); + sys_free(nom_segment); + sys_free(psem); return(SEM_FAILED); } @@ -891,8 +891,8 @@ sem_t if ((desc = open(nom_absolu, O_CREAT | O_EXCL | O_RDWR, S_IRUSR | S_IWUSR)) == -1) { - free(semaphore); - free(nom_absolu); + sys_free(semaphore); + sys_free(nom_absolu); return(SEM_FAILED); } @@ -900,8 +900,8 @@ sem_t if ((clef = ftok(nom_absolu, 1)) == -1) { close(desc); - free(semaphore); - free(nom_absolu); + sys_free(semaphore); + sys_free(nom_absolu); return(SEM_FAILED); } @@ -917,8 +917,8 @@ sem_t if ((*semaphore).sem == -1) { - free(semaphore); - free(nom_absolu); + sys_free(semaphore); + sys_free(nom_absolu); return(SEM_FAILED); } @@ -926,10 +926,10 @@ sem_t argument.val = (int) valeur; semctl((*semaphore).sem, 0, SETVAL, argument); # else // OS/2 - if ((psem = malloc(sizeof(sem_t))) == NULL) + if ((psem = sys_malloc(sizeof(sem_t))) == NULL) { - free(nom_absolu); - free(nom_segment); + sys_free(nom_absolu); + sys_free(nom_segment); return(SEM_FAILED); } @@ -938,9 +938,9 @@ sem_t if (DosCreateMutexSem(nom_absolu, &((*psem).hmtx), 0, 0) != 0) { - free(psem); - free(nom_absolu); - free(nom_segment); + sys_free(psem); + sys_free(nom_absolu); + sys_free(nom_segment); return(SEM_FAILED); } @@ -952,9 +952,9 @@ sem_t { DosCloseMutexSem((*psem).hmtx); - free(nom_absolu); - free(nom_segment); - free(psem); + sys_free(nom_absolu); + sys_free(nom_segment); + sys_free(psem); return(SEM_FAILED); } @@ -964,14 +964,14 @@ sem_t { DosCloseMutexSem((*psem).hmtx); - free(nom_absolu); - free(nom_segment); - free(psem); + sys_free(nom_absolu); + sys_free(nom_segment); + sys_free(psem); return(SEM_FAILED); } - free(nom_segment); + sys_free(nom_segment); (*psem).cnt = (ULONG *) base; (*psem).nopened = ((ULONG *) base) + 1; @@ -992,12 +992,12 @@ sem_close_SysV(sem_t *semaphore) # ifndef OS2 // IPCS_SYSV if ((*semaphore).path != NULL) { - free((*semaphore).path); + sys_free((*semaphore).path); } if ((*semaphore).alloue == -1) { - free(semaphore); + sys_free(semaphore); } return(0); @@ -1020,8 +1020,8 @@ sem_close_SysV(sem_t *semaphore) if ((*psem).shared == 0) { - free((*psem).cnt); - free((*psem).nopened); + sys_free((*psem).cnt); + sys_free((*psem).nopened); } else { @@ -1033,7 +1033,7 @@ sem_close_SysV(sem_t *semaphore) if ((*psem).allocated != 0) { - free(psem); + sys_free(psem); } return(0); @@ -1052,7 +1052,7 @@ sem_unlink_SysV(char *nom) return(EACCES); } - free(nom); + sys_free(nom); return(0); # else return(0);