Diff for /rpl/src/rpl.h between versions 1.330 and 1.336

version 1.330, 2019/02/11 09:45:53 version 1.336, 2019/11/06 17:31:47
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.31    RPL/2 (R) version 4.1.32
   Copyright (C) 1989-2019 Dr. BERTRAND Joël    Copyright (C) 1989-2019 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
Line 325  enum signaux_rpl Line 325  enum signaux_rpl
     rpl_sighup,      rpl_sighup,
     rpl_sigtstp,      rpl_sigtstp,
     rpl_sigexcept,      rpl_sigexcept,
     rpl_sigmax      rpl_sigmax,
       rpl_siguser         // Base des signaux à la discrétion de l'utilisateur
 };  };
   
 #define LONGUEUR_QUEUE_SIGNAUX          1024  #define LONGUEUR_QUEUE_SIGNAUX          1024
Line 394  union semun Line 395  union semun
   
 #ifdef IPCS_SYSV  #ifdef IPCS_SYSV
 #   ifdef DEBUG_SEMAPHORES  #   ifdef DEBUG_SEMAPHORES
   #       define sem_init(a, b, c) ({ \
                   uprintf("[%d-%llu] Semaphore %s (%p) "\
                           "initialization at %s() " \
                   "line #%d <%d>\n", (int) getpid(), (unsigned long long) \
                           pthread_self(), \
                   #a, a, __FUNCTION__, __LINE__, value), fflush(stdout); \
                   sem_init_SysV(a, b, c); })
 #       define sem_wait(a) ({ int value; sem_getvalue(a, &value); \  #       define sem_wait(a) ({ int value; sem_getvalue(a, &value); \
                 if (strstr(#a, "fork") != NULL) \  
                 uprintf("[%d-%llu] Semaphore %s (%p) "\                  uprintf("[%d-%llu] Semaphore %s (%p) "\
                 "waiting at %s() " \                  "waiting at %s() " \
                 "line #%d <%d>\n", (int) getpid(), (unsigned long long) i\                  "line #%d <%d>\n", (int) getpid(), (unsigned long long) i\
Line 403  union semun Line 410  union semun
                 #a, a, __FUNCTION__, __LINE__, value), fflush(stdout); \                  #a, a, __FUNCTION__, __LINE__, value), fflush(stdout); \
                 sem_wait_SysV(a); })                  sem_wait_SysV(a); })
 #       define sem_trywait(a) ({ int value; sem_getvalue(a, &value); \  #       define sem_trywait(a) ({ int value; sem_getvalue(a, &value); \
                 if (strstr(#a, "fork") != NULL) \  
                 uprintf("[%d-%llu] Semaphore %s (%p) "\                  uprintf("[%d-%llu] Semaphore %s (%p) "\
                 "trywaiting at %s() " \                  "trywaiting at %s() " \
                 "line #%d <%d>\n", (int) getpid(), (unsigned long long) i\                  "line #%d <%d>\n", (int) getpid(), (unsigned long long) i\
Line 411  union semun Line 417  union semun
                 #a, a, __FUNCTION__, __LINE__, value), fflush(stdout); \                  #a, a, __FUNCTION__, __LINE__, value), fflush(stdout); \
                 sem_trywait_SysV(a); })                  sem_trywait_SysV(a); })
 #       define sem_post(a) ({ int value; sem_getvalue(a, &value); \  #       define sem_post(a) ({ int value; sem_getvalue(a, &value); \
                 if (strstr(#a, "fork") != NULL) \  
                 uprintf("[%d-%llu] Semaphore %s (%p) "\                  uprintf("[%d-%llu] Semaphore %s (%p) "\
                 "posting at %s() " \                  "posting at %s() " \
                 "line #%d <%d>\n", (int) getpid(), (unsigned long long) \                  "line #%d <%d>\n", (int) getpid(), (unsigned long long) \
Line 419  union semun Line 424  union semun
                 #a, a, __FUNCTION__, __LINE__, value), fflush(stdout); \                  #a, a, __FUNCTION__, __LINE__, value), fflush(stdout); \
                 sem_post_SysV(a); })                  sem_post_SysV(a); })
 #       define sem_destroy(a) ({ int value; sem_getvalue(a, &value); \  #       define sem_destroy(a) ({ int value; sem_getvalue(a, &value); \
                 if (strstr(#a, "fork") != NULL) \  
                 uprintf("[%d-%llu] Semaphore %s (%p) "\                  uprintf("[%d-%llu] Semaphore %s (%p) "\
                 "destroying at %s() " \                  "destroying at %s() " \
                 "line #%d <%d>\n", (int) getpid(), (unsigned long long) \                  "line #%d <%d>\n", (int) getpid(), (unsigned long long) \
Line 442  union semun Line 446  union semun
 #   define sem_unlink(a)        sem_unlink_SysV(a)  #   define sem_unlink(a)        sem_unlink_SysV(a)
 #else  #else
 #   ifdef DEBUG_SEMAPHORES  #   ifdef DEBUG_SEMAPHORES
   #       define sem_init(a, b, c) ({ \
                   uprintf("[%d-%llu] Semaphore %s (%p) "\
                           "initialization at %s() " \
                   "line #%d <%d>\n", (int) getpid(), (unsigned long long) \
                           pthread_self(), \
                   #a, a, __FUNCTION__, __LINE__, c), fflush(stdout); \
                   sem_init(a, b, c); })
 #       define sem_wait(a) ({ int value; sem_getvalue(a, &value); \  #       define sem_wait(a) ({ int value; sem_getvalue(a, &value); \
                 uprintf("[%d-%llu] Semaphore %s (%p) "\                  uprintf("[%d-%llu] Semaphore %s (%p) "\
                 "waiting at %s() " \                  "waiting at %s() " \
Line 559  union semun Line 570  union semun
   
     __EXTERN__ pthread_mutex_t      mutex_sigaction;      __EXTERN__ pthread_mutex_t      mutex_sigaction;
     __EXTERN__ pthread_mutex_t      mutex_liste_threads;      __EXTERN__ pthread_mutex_t      mutex_liste_threads;
       __EXTERN__ pthread_mutex_t      mutex_liste_threads_surveillance;
     __EXTERN__ pthread_mutex_t      mutex_creation_variable_partagee      __EXTERN__ pthread_mutex_t      mutex_creation_variable_partagee
                                             __STATIC_MUTEX_INITIALIZATION__;                                              __STATIC_MUTEX_INITIALIZATION__;
     __EXTERN__ pthread_mutex_t      mutex_sections_critiques;      __EXTERN__ pthread_mutex_t      mutex_sections_critiques;
Line 566  union semun Line 578  union semun
     __EXTERN__ pthread_mutex_t      mutex_sem __STATIC_MUTEX_INITIALIZATION__;      __EXTERN__ pthread_mutex_t      mutex_sem __STATIC_MUTEX_INITIALIZATION__;
   
     __EXTERN__ volatile int         routine_recursive;      __EXTERN__ volatile int         routine_recursive;
     __EXTERN__ volatile int         nombre_thread_surveillance_processus;      __EXTERN__ volatile int         nombre_threads_surveillance_processus;
   
 #   define SEM_FORK                 0  #   define SEM_FORK                 0
 #   define SEM_QUEUE                1  #   define SEM_QUEUE                1
Line 1050  pid_t debug_fork(); Line 1062  pid_t debug_fork();
 #   define d_ex_taille_message                  __erreur(92)  #   define d_ex_taille_message                  __erreur(92)
 #   define d_ex_type_externe_dup                __erreur(93)  #   define d_ex_type_externe_dup                __erreur(93)
 #   define d_ex_type_externe_drop               __erreur(94)  #   define d_ex_type_externe_drop               __erreur(94)
   #   define d_ex_simplification                  __erreur(95)
 #endif  #endif
   
   
Line 3548  logical1 validation_chaine(unsigned char Line 3561  logical1 validation_chaine(unsigned char
 #ifndef RPLARGS  #ifndef RPLARGS
 ssize_t read_atomic(struct_processus *s_etat_processus,  ssize_t read_atomic(struct_processus *s_etat_processus,
         int fd, void *buf, size_t count);          int fd, void *buf, size_t count);
   ssize_t read_atomic_signal(struct_processus *s_etat_processus,
           int fd, void *buf, size_t count);
 ssize_t write_atomic(struct_processus *s_etat_processus,  ssize_t write_atomic(struct_processus *s_etat_processus,
         int fd, void *buf, size_t count);          int fd, void *buf, size_t count);
 #endif  #endif

Removed from v.1.330  
changed lines
  Added in v.1.336


CVSweb interface <joel.bertrand@systella.fr>