version 1.209, 2019/02/11 06:18:21
|
version 1.211, 2019/02/17 16:08:41
|
Line 127 rplinit(int argc, char *argv[], char *en
|
Line 127 rplinit(int argc, char *argv[], char *en
|
errno = 0; |
errno = 0; |
s_queue_signaux = NULL; |
s_queue_signaux = NULL; |
routine_recursive = 0; |
routine_recursive = 0; |
nombre_thread_surveillance_processus = 0; |
nombre_threads_surveillance_processus = 0; |
pid_processus_pere = getpid(); |
pid_processus_pere = getpid(); |
|
|
# ifdef DEBUG_PROC |
# ifdef DEBUG_PROC |
Line 313 rplinit(int argc, char *argv[], char *en
|
Line 313 rplinit(int argc, char *argv[], char *en
|
pthread_mutex_init(&mutex_liste_threads, &attributs_mutex); |
pthread_mutex_init(&mutex_liste_threads, &attributs_mutex); |
pthread_mutexattr_destroy(&attributs_mutex); |
pthread_mutexattr_destroy(&attributs_mutex); |
|
|
|
pthread_mutexattr_init(&attributs_mutex); |
|
pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_RECURSIVE); |
|
pthread_mutex_init(&mutex_sigaction, &attributs_mutex); |
|
pthread_mutexattr_destroy(&attributs_mutex); |
|
|
# ifndef SEMAPHORES_NOMMES |
# ifndef SEMAPHORES_NOMMES |
sem_init(&((*s_etat_processus).semaphore_fork), 0, 0); |
sem_init(&((*s_etat_processus).semaphore_fork), 0, 0); |
# else |
# else |
Line 6112 rplinit(int argc, char *argv[], char *en
|
Line 6117 rplinit(int argc, char *argv[], char *en
|
|
|
pthread_mutex_lock(&((*s_etat_processus).mutex_pile_processus)); |
pthread_mutex_lock(&((*s_etat_processus).mutex_pile_processus)); |
|
|
while(nombre_thread_surveillance_processus != 0) |
while(nombre_threads_surveillance_processus != 0) |
{ |
{ |
pthread_mutex_unlock(&((*s_etat_processus).mutex_pile_processus)); |
pthread_mutex_unlock(&((*s_etat_processus).mutex_pile_processus)); |
nanosleep(&attente, NULL); |
nanosleep(&attente, NULL); |
Line 6171 rplinit(int argc, char *argv[], char *en
|
Line 6176 rplinit(int argc, char *argv[], char *en
|
liberation_allocateur_buffer(s_etat_processus); |
liberation_allocateur_buffer(s_etat_processus); |
pthread_mutex_destroy(&((*s_etat_processus).mutex_allocation_buffer)); |
pthread_mutex_destroy(&((*s_etat_processus).mutex_allocation_buffer)); |
pthread_mutex_destroy(&mutex_liste_threads); |
pthread_mutex_destroy(&mutex_liste_threads); |
|
pthread_mutex_destroy(&mutex_sigaction); |
|
|
sys_free(s_etat_processus); |
sys_free(s_etat_processus); |
sys_free(arg_exec); |
sys_free(arg_exec); |