--- rpl/src/rpl.h 2016/03/09 22:11:27 1.285 +++ rpl/src/rpl.h 2016/03/21 12:08:06 1.291 @@ -64,6 +64,11 @@ # define SA_ONSTACK 0 #endif +#define DEBUG_TRACE uprintf("[%d/%X] %s(%d)\n", \ + getpid(), pthread_self(), __FILE__, __LINE__); +#define TEST_ABSENCE_FICHIER(nom) \ + { int ios; struct stat *buf; ios = stat(nom, buf); \ + if (ios == 0) BUG(1, uprintf("File %s found!\n", nom)); } /* ================================================================================ @@ -590,26 +595,6 @@ union semun # define fflush(flux) fflush((flux == stdout) ? stderr : flux) #endif -// Ajout d'un timeout sur les fonctions pipe() pour éviter une erreur -// système dans le cas où l'on a atteint le nombre maximale de fichiers -// ouverts. - -#define pipe(descripteurs) \ - ({ \ - struct timespec temporisation; \ - int erreur, nombre_echecs; \ - nombre_echecs = 0; \ - do \ - { \ - if ((erreur = pipe(descripteurs)) == 0) break; \ - nombre_echecs++; \ - temporisation.tv_sec = 0; \ - temporisation.tv_nsec = ((long) 1000000000) * rand(); \ - nanosleep(&temporisation, NULL); \ - } while(nombre_echecs < 100); \ - erreur; \ - }) - // Redéfinition de abs pour un fonctionnement en entier de type long long int #ifdef __GNUC__ @@ -813,7 +798,7 @@ pid_t debug_fork(); # define __erreur(i) ({ if (strstr(__FUNCTION__, "recherche_variable") \ == NULL) ufprintf(stderr, \ "ERROR %d AT %s() FROM %s LINE %d\n", \ - i, __FUNCTION__, __FILE__, __LINE__); i; }) + i, __FUNCTION__, __FILE__, __LINE__); BACKTRACE(16); i; }) # endif #else # define __erreur(i) i @@ -3214,7 +3199,8 @@ void liberation_queue_signaux(struct_pro void destruction_queue_signaux(struct_processus *s_etat_processus); int envoi_signal_contexte(struct_processus *s_etat_processus, enum signaux_rpl signal); -int envoi_signal_processus(pid_t pid, enum signaux_rpl signal); +int envoi_signal_processus(pid_t pid, enum signaux_rpl signal, + logical1 test_ouverture); int envoi_signal_thread(pthread_t tid, enum signaux_rpl signal); #endif