Diff for /rpl/src/rpl.h between versions 1.246 and 1.247

version 1.246, 2014/07/15 14:12:38 version 1.247, 2014/07/15 14:20:10
Line 378  union semun Line 378  union semun
   
 #ifdef IPCS_SYSV  #ifdef IPCS_SYSV
 #   ifdef DEBUG_SEMAPHORES  #   ifdef DEBUG_SEMAPHORES
 #   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 #%d\n", (int) getpid(), (unsigned long long) pthread_self(), \                  "line #%d\n", (int) getpid(), (unsigned long long) i\
             #a, a, __FUNCTION__, __LINE__), fflush(stdout); \                          pthread_self(), \
             if (value > 1) BUG(1, uprintf("Value %d\n", value)); \                  #a, a, __FUNCTION__, __LINE__), fflush(stdout); \
             sem_wait_SysV(a); })                  if (value > 1) BUG(1, uprintf("Value %d\n", value)); \
                   sem_wait_SysV(a); })
 #   define sem_post(a) ({ int value; sem_getvalue(a, &value); \  #   define sem_post(a) ({ int value; sem_getvalue(a, &value); \
             uprintf("[%d-%llu] Semaphore %s (%p) "\                  uprintf("[%d-%llu] Semaphore %s (%p) "\
             "posting at %s() " \                  "posting at %s() " \
             "line #%d\n", (int) getpid(), (unsigned long long) pthread_self(), \                  "line #%d\n", (int) getpid(), (unsigned long long) \
             #a, a, __FUNCTION__, __LINE__), fflush(stdout); \                          pthread_self(), \
             if (value > 0) BUG(1, uprintf("Value %d\n", value)); \                  #a, a, __FUNCTION__, __LINE__), fflush(stdout); \
             sem_post_SysV(a); })                  if (value > 0) BUG(1, uprintf("Value %d\n", value)); \
                   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 (value == 0) BUG(1, uprintf("Value %d\n", value)); \                  if (value == 0) BUG(1, uprintf("Value %d\n", value)); \
             sem_destroy_SysV(a); })                  sem_destroy_SysV(a); })
 #else  #   else
 #       define sem_destroy(a)       sem_destroy_SysV(a)  #       define sem_destroy(a)       sem_destroy_SysV(a)
 #       define sem_wait(a)          sem_wait_SysV(a)  #       define sem_wait(a)          sem_wait_SysV(a)
 #       define sem_post(a)          sem_post_SysV(a)  #       define sem_post(a)          sem_post_SysV(a)
Line 409  union semun Line 411  union semun
 #   define sem_close(a)         sem_close_SysV(a)  #   define sem_close(a)         sem_close_SysV(a)
 #   define sem_unlink(a)        sem_unlink_SysV(a)  #   define sem_unlink(a)        sem_unlink_SysV(a)
 #else  #else
 #   define sem_wait(a) ({ int value; sem_getvalue(a, &value); \  #   ifdef DEBUG_SEMAPHORES
             uprintf("[%d-%llu] Semaphore %s (%p) "\  #       define sem_wait(a) ({ int value; sem_getvalue(a, &value); \
             "waiting at %s() " \                  uprintf("[%d-%llu] Semaphore %s (%p) "\
             "line #%d\n", (int) getpid(), (unsigned long long) pthread_self(), \                  "waiting at %s() " \
             #a, a, __FUNCTION__, __LINE__), fflush(stdout); \                  "line #%d\n", (int) getpid(), (unsigned long long) \
             if (value > 1) BUG(1, uprintf("Value %d\n", value)); sem_wait(a); })                          pthread_self(), \
 #   define sem_post(a) ({ int value; sem_getvalue(a, &value); \                  #a, a, __FUNCTION__, __LINE__), fflush(stdout); \
             uprintf("[%d-%llu] Semaphore %s (%p) "\                  if (value > 1) BUG(1, uprintf("Value %d\n", value)); sem_wait(a); })
             "posting at %s() " \  #       define sem_post(a) ({ int value; sem_getvalue(a, &value); \
             "line #%d\n", (int) getpid(), (unsigned long long) pthread_self(), \                  uprintf("[%d-%llu] Semaphore %s (%p) "\
             #a, a, __FUNCTION__, __LINE__), fflush(stdout); \                  "posting at %s() " \
             if (value > 0) BUG(1, uprintf("Value %d\n", value)); sem_post(a); })                  "line #%d\n", (int) getpid(), (unsigned long long) \
 #   define sem_destroy(a) ({ int value; sem_getvalue(a, &value); \                          pthread_self(), \
             if (value == 0) BUG(1, uprintf("Value %d\n", value)); \                  #a, a, __FUNCTION__, __LINE__), fflush(stdout); \
             sem_destroy(a); })                  if (value > 0) BUG(1, uprintf("Value %d\n", value)); sem_post(a); })
   #       define sem_destroy(a) ({ int value; sem_getvalue(a, &value); \
                   if (value == 0) BUG(1, uprintf("Value %d\n", value)); \
                   sem_destroy(a); })
   #   endif
 #endif  #endif
   
   

Removed from v.1.246  
changed lines
  Added in v.1.247


CVSweb interface <joel.bertrand@systella.fr>