version 1.24, 2010/05/16 19:36:20
|
version 1.29, 2010/06/17 11:00:23
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.0.15 |
RPL/2 (R) version 4.0.16 |
Copyright (C) 1989-2010 Dr. BERTRAND Joël |
Copyright (C) 1989-2010 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
Line 99 rplinit(int argc, char *argv[], unsigned
|
Line 99 rplinit(int argc, char *argv[], unsigned
|
volatile int erreur; |
volatile int erreur; |
volatile unsigned char traitement_fichier_temporaire; |
volatile unsigned char traitement_fichier_temporaire; |
|
|
|
# ifdef DEBUG_MEMOIRE |
|
debug_memoire_initialisation(); |
|
# endif |
|
|
setvbuf(stdout, NULL, _IOLBF, 0); |
setvbuf(stdout, NULL, _IOLBF, 0); |
setvbuf(stderr, NULL, _IOLBF, 0); |
setvbuf(stderr, NULL, _IOLBF, 0); |
|
|
Line 447 rplinit(int argc, char *argv[], unsigned
|
Line 451 rplinit(int argc, char *argv[], unsigned
|
return(EXIT_FAILURE); |
return(EXIT_FAILURE); |
} |
} |
|
|
|
action.sa_sigaction = interruption11; |
|
action.sa_flags = SA_NODEFER | SA_ONSTACK | SA_SIGINFO; |
|
|
if (sigaction(SIGFABORT, &action, NULL) != 0) |
if (sigaction(SIGFABORT, &action, NULL) != 0) |
{ |
{ |
erreur = d_es_signal; |
erreur = d_es_signal; |
Line 3450 rplinit(int argc, char *argv[], unsigned
|
Line 3457 rplinit(int argc, char *argv[], unsigned
|
} |
} |
|
|
# ifndef Cygwin |
# ifndef Cygwin |
|
(*s_etat_processus).pile_signal.ss_flags = SS_DISABLE; |
|
sigaltstack(&((*s_etat_processus).pile_signal), NULL); |
free((*s_etat_processus).pile_signal.ss_sp); |
free((*s_etat_processus).pile_signal.ss_sp); |
# endif |
# endif |
|
|
Line 3462 rplinit(int argc, char *argv[], unsigned
|
Line 3471 rplinit(int argc, char *argv[], unsigned
|
retrait_thread(s_etat_processus); |
retrait_thread(s_etat_processus); |
|
|
pthread_mutex_destroy(&((*s_etat_processus).mutex)); |
pthread_mutex_destroy(&((*s_etat_processus).mutex)); |
|
|
# ifndef SEMAPHORES_NOMMES |
# ifndef SEMAPHORES_NOMMES |
sem_post(&((*s_etat_processus).semaphore_fork)); |
sem_post(&((*s_etat_processus).semaphore_fork)); |
sem_destroy(&((*s_etat_processus).semaphore_fork)); |
sem_destroy(&((*s_etat_processus).semaphore_fork)); |