--- rpl/src/rpl.h 2010/08/26 19:07:42 1.64 +++ rpl/src/rpl.h 2010/09/11 16:46:19 1.70 @@ -98,7 +98,7 @@ # include # endif -# ifndef SEMAPHORES_SYSV +# ifndef IPCS_SYSV # include # else # include @@ -241,10 +241,10 @@ #ifdef OS2 # define readline(s) readline_wrapper(s) - unsigned char readline_wrapper(unsigned char *s); + unsigned char *readline_wrapper(unsigned char *s); #endif -#if ! defined(UNION_SEMUN) && defined(SEMAPHORES_SYSV) +#if ! defined(UNION_SEMUN) && defined(IPCS_SYSV) union semun { int val; @@ -261,7 +261,7 @@ union semun ================================================================================ */ -#ifdef SEMAPHORES_SYSV +#ifdef IPCS_SYSV # define sem_init(a, b, c) sem_init_SysV(a, b, c) # define sem_destroy(a) sem_destroy_SysV(a) # define sem_wait(a) sem_wait_SysV(a) @@ -502,6 +502,9 @@ int sem_getvalue2(sem_t *semaphore, int # define fopen(...) ({ FILE *desc; \ while((desc = fopen(__VA_ARGS__)) == NULL) \ { if ((errno != EINTR) && (errno != 0)) break; } desc; }) +# define freopen(...) ({ FILE *desc; \ + while((desc = freopen(__VA_ARGS__)) == NULL) \ + { if ((errno != EINTR) && (errno != 0)) break; } desc; }) # define fclose(...) ({ int ios; \ while((ios = fclose(__VA_ARGS__)) != 0) \ { if ((errno != EINTR) && (errno != 0)) break; } ios; }) @@ -1356,6 +1359,7 @@ typedef struct descripteur_thread pthread_t thread_pere; pthread_mutex_t mutex; + pthread_mutex_t mutex_nombre_references; volatile logical1 thread_actif; @@ -1756,7 +1760,7 @@ typedef struct processus # if !defined(Cygwin) # if !(OpenBSD) - stack_t pile_signal; + stack_t pile_signal; # else # ifdef SA_ONSTACK # undef SA_ONSTACK @@ -1764,8 +1768,8 @@ typedef struct processus # define SA_ONSTACK 0 # endif # else -# define SA_ONSTACK 0 -# define RTLD_LOCAL 0 +# define SA_ONSTACK 0 +# define RTLD_LOCAL 0 # endif /* Contextes */ @@ -2039,6 +2043,7 @@ typedef struct processus volatile sig_atomic_t var_volatile_traitement_retarde_stop; volatile sig_atomic_t var_volatile_traitement_sigint; + volatile sig_atomic_t var_volatile_processus_racine; volatile sig_atomic_t var_volatile_processus_pere; volatile sig_atomic_t var_volatile_recursivite;