--- rpl/src/rpl.h 2010/08/22 16:38:36 1.60 +++ rpl/src/rpl.h 2010/09/06 16:50:17 1.68 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.0.18 + RPL/2 (R) version 4.0.19 Copyright (C) 1989-2010 Dr. BERTRAND Joël This file is part of RPL/2. @@ -98,7 +98,7 @@ # include # endif -# ifndef SEMAPHORES_SYSV +# ifndef IPCS_SYSV # include # else # include @@ -193,9 +193,11 @@ #include "librplprototypes.h" -#ifndef UNIX_PATH_MAX - struct sockaddr_un sizecheck; -# define UNIX_PATH_MAX sizeof(sizecheck.sun_path) +#ifndef RPLARGS +# ifndef UNIX_PATH_MAX + struct sockaddr_un sizecheck; +# define UNIX_PATH_MAX sizeof(sizecheck.sun_path) +# endif #endif /* @@ -211,10 +213,21 @@ # endif # define SA_SIGINFO 0 -# define kill(pid, signal) kill_broken_siginfo(pid, signal) -# define pthread_kill(tid, signal) pthread_kill_broken_siginfo(tid, signal) +# ifndef __BROKEN_SIGINFO_ROUTINES__ + +// pthread_kill() est une macro sous OS/2. +# ifdef pthread_kill +# undef pthread_kill +# endif + +# define kill(a, b) kill_broken_siginfo(a, b) +# define pthread_kill(a, b) pthread_kill_broken_siginfo(a, b) +# endif + int kill_broken_siginfo(pid_t pid, int signal); int pthread_kill_broken_siginfo(pthread_t tid, int signal); + pid_t origine_signal(int signal); + int queue_in(pid_t pid, int signal); #else # define SIGHANDLER_ARGS int signal, siginfo_t *siginfo, void *context #endif @@ -226,7 +239,12 @@ # define PTHREAD_SCOPE_SYSTEM 0 #endif -#if ! defined(UNION_SEMUN) && defined(SEMAPHORES_SYSV) +#ifdef OS2 +# define readline(s) readline_wrapper(s) + unsigned char *readline_wrapper(unsigned char *s); +#endif + +#if ! defined(UNION_SEMUN) && defined(IPCS_SYSV) union semun { int val; @@ -243,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) @@ -1738,7 +1756,7 @@ typedef struct processus # if !defined(Cygwin) # if !(OpenBSD) - stack_t pile_signal; + stack_t pile_signal; # else # ifdef SA_ONSTACK # undef SA_ONSTACK @@ -1746,8 +1764,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 */ @@ -2021,6 +2039,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;