--- rpl/src/rpl.h 2017/07/04 10:28:09 1.309 +++ rpl/src/rpl.h 2018/05/30 09:27:39 1.318 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.27 - Copyright (C) 1989-2017 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.29 + Copyright (C) 1989-2018 Dr. BERTRAND Joël This file is part of RPL/2. @@ -92,10 +92,10 @@ #include #include #include +#include #ifndef RPLARGS # include -# include # include # include # include @@ -104,6 +104,7 @@ # include # include # include +# include # include # include @@ -553,8 +554,6 @@ union semun sem_t *sem_open2(pid_t pid, int ordre); #endif -__EXTERN__ int affichage_rplso; - // Le mutex est là uniquement pour pouvoir émuler le comportement // de sem_getvalue() sur un système comme MacOS X qui ne possède pas // cette fonction. @@ -720,6 +719,12 @@ pid_t debug_fork(); pthread_self(), #mutex, mutex, __FUNCTION__, __LINE__), \ fflush(stdout), \ pthread_mutex_unlock(mutex) +# define pthread_mutex_trylock(mutex) uprintf("[%d-%llu] Mutex %s (%p) " \ + "trylocking at " \ + "%s() line #%d\n", (int) getpid(), (unsigned long long) \ + pthread_self(), #mutex, mutex, __FUNCTION__, __LINE__), \ + fflush(stdout), \ + pthread_mutex_trylock(mutex) #endif @@ -1781,6 +1786,7 @@ typedef struct instruction_externe unsigned char *nom; unsigned char *nom_bibliotheque; void *descripteur_bibliotheque; + integer8 position_fleche; } struct_instruction_externe; @@ -2797,6 +2803,7 @@ void instruction_mtxtrylock(struct_proce void instruction_mtxunlock(struct_processus *s_etat_processus); void instruction_multiplication(struct_processus *s_etat_processus); +void instruction_nbrcpus(struct_processus *s_etat_prorcessus); void instruction_ne(struct_processus *s_etat_processus); void instruction_neg(struct_processus *s_etat_processus); void instruction_next(struct_processus *s_etat_processus);