version 1.43, 2010/09/23 15:27:37
|
version 1.46, 2010/12/21 13:47:19
|
Line 2861 instruction_detach(struct_processus *s_e
|
Line 2861 instruction_detach(struct_processus *s_e
|
|
|
liberation(s_etat_processus, s_objet); |
liberation(s_etat_processus, s_objet); |
|
|
# if !defined(Cygwin) && !defined(OpenBSD) |
|
(*s_etat_processus).pile_signal.ss_flags = SS_DISABLE; |
|
sigaltstack(&((*s_etat_processus).pile_signal), NULL); |
|
free((*s_etat_processus).pile_signal.ss_sp); |
|
# endif |
|
|
|
free((*s_etat_processus).definitions_chainees); |
free((*s_etat_processus).definitions_chainees); |
free((*s_etat_processus).nom_fichier_historique); |
free((*s_etat_processus).nom_fichier_historique); |
|
|
Line 3021 instruction_detach(struct_processus *s_e
|
Line 3015 instruction_detach(struct_processus *s_e
|
|
|
// Être sûr que le processus fils soit déjà présent... |
// Être sûr que le processus fils soit déjà présent... |
|
|
|
attente.tv_sec = 0; |
|
attente.tv_nsec = GRANULARITE_us * 1000; |
|
|
while(kill((*s_argument_thread).pid, 0) != 0) |
while(kill((*s_argument_thread).pid, 0) != 0) |
{ |
{ |
//if ((errno != ESRCH) && (errno != EAGAIN)) |
//if ((errno != ESRCH) && (errno != EAGAIN)) |
Line 3032 instruction_detach(struct_processus *s_e
|
Line 3029 instruction_detach(struct_processus *s_e
|
} |
} |
|
|
nanosleep(&attente, NULL); |
nanosleep(&attente, NULL); |
|
INCR_GRANULARITE(attente.tv_nsec); |
} |
} |
|
|
// Le fils peut être présent sans être en attente du signal de départ. |
// Le fils peut être présent sans être en attente du signal de départ. |