--- rpl/src/rpl.c 2010/08/06 15:33:04 1.36 +++ rpl/src/rpl.c 2010/08/15 14:46:25 1.39 @@ -23,9 +23,12 @@ #define MAIN_RPL #include "rpl-conv.h" -#ifdef OS2 +#ifdef SEMAPHORES_SYSV +#ifndef OS2 unsigned char *chemin_semaphores_SysV; #endif +#endif + /* ================================================================================ @@ -102,6 +105,8 @@ rplinit(int argc, char *argv[], unsigned volatile int erreur; volatile unsigned char traitement_fichier_temporaire; + errno = 0; + # ifdef DEBUG_MEMOIRE debug_memoire_initialisation(); # endif @@ -330,7 +335,7 @@ rplinit(int argc, char *argv[], unsigned // Initialisation d'une pile de signal pour récupérer les // débordement de pile -# if !defined(Cygwin) +# if !defined(Cygwin) && !defined(OpenBSD) if (((*s_etat_processus).pile_signal.ss_sp = malloc((*s_etat_processus).pile_signal.ss_size = SIGSTKSZ)) == NULL) @@ -586,9 +591,11 @@ rplinit(int argc, char *argv[], unsigned (*s_etat_processus).chemin_fichiers_temporaires = recherche_chemin_fichiers_temporaires(s_etat_processus); -# ifdef OS2 +# ifdef SEMAPHORES_SYSV +# ifndef OS2 chemin_semaphores_SysV = (*s_etat_processus).chemin_fichiers_temporaires; # endif +# endif erreur = d_absence_erreur; core = d_faux; @@ -3471,7 +3478,7 @@ rplinit(int argc, char *argv[], unsigned } } -# ifndef Cygwin +# 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);