--- rpl/src/instructions_w1.c 2011/09/15 17:51:43 1.48 +++ rpl/src/instructions_w1.c 2011/09/20 08:56:24 1.49 @@ -261,7 +261,7 @@ instruction_wait(struct_processus *s_eta do { - if (pthread_mutex_unlock(&((*s_etat_processus).mutex_fork)) != 0) + if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -270,7 +270,7 @@ instruction_wait(struct_processus *s_eta code_retour = nanosleep(&temporisation, &temporisation); erreur = errno; - if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) != 0) + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1444,7 +1444,7 @@ instruction_write(struct_processus *s_et return; } - if (pthread_mutex_unlock(&((*s_etat_processus).mutex_fork)) != 0) + if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0) { if (sigaction(SIGPIPE, ®istre, NULL) != 0) { @@ -1467,7 +1467,7 @@ instruction_write(struct_processus *s_et return; } - if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) != 0) + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1484,7 +1484,7 @@ instruction_write(struct_processus *s_et return; } - if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) != 0) + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { if (errno != EINTR) { @@ -1537,8 +1537,7 @@ instruction_write(struct_processus *s_et adresse_unix.sun_path[UNIX_PATH_MAX - 1] = d_code_fin_chaine; - if (pthread_mutex_unlock(&((*s_etat_processus).mutex_fork)) - != 0) + if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1551,8 +1550,7 @@ instruction_write(struct_processus *s_et { ios = errno; - if (pthread_mutex_lock(&((*s_etat_processus) - .mutex_fork)) != 0) + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1570,7 +1568,7 @@ instruction_write(struct_processus *s_et return; } - if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) != 0) + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1594,8 +1592,7 @@ instruction_write(struct_processus *s_et adresse_ipv4.sin_port = htons(port); adresse_ipv4.sin_addr.s_addr = htonl(calcul_adresse); - if (pthread_mutex_unlock(&((*s_etat_processus) - .mutex_fork)) != 0) + if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1606,8 +1603,8 @@ instruction_write(struct_processus *s_et longueur_effective, 0, (struct sockaddr *) &adresse_ipv4, sizeof(adresse_ipv4)) < 0) { - if (pthread_mutex_lock(&((*s_etat_processus) - .mutex_fork)) != 0) + if (sem_wait(&((*s_etat_processus) + .semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1618,8 +1615,7 @@ instruction_write(struct_processus *s_et return; } - if (pthread_mutex_lock(&((*s_etat_processus) - .mutex_fork)) != 0) + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1657,8 +1653,7 @@ instruction_write(struct_processus *s_et adresse_ipv6.sin6_addr.s6_addr[i] = adresse[i], i++); - if (pthread_mutex_unlock(&((*s_etat_processus) - .mutex_fork)) != 0) + if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -1669,8 +1664,8 @@ instruction_write(struct_processus *s_et longueur_effective, 0, (struct sockaddr *) &adresse_ipv6, sizeof(adresse_ipv6)) < 0) { - if (pthread_mutex_lock(&((*s_etat_processus) - .mutex_fork)) != 0) + if (sem_wait(&((*s_etat_processus) + .semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -1682,8 +1677,7 @@ instruction_write(struct_processus *s_et return; } - if (pthread_mutex_lock(&((*s_etat_processus) - .mutex_fork)) != 0) + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -1884,13 +1878,13 @@ instruction_wflock(struct_processus *s_e return; } - if (pthread_mutex_unlock(&((*s_etat_processus).mutex_fork)) != 0) + if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; } - if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) != 0) + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -2196,8 +2190,7 @@ instruction_wfproc(struct_processus *s_e registre_instruction_valide; } - if (pthread_mutex_unlock(&((*s_etat_processus) - .mutex_fork)) != 0) + if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -2205,8 +2198,7 @@ instruction_wfproc(struct_processus *s_e nanosleep(&attente, NULL); - if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) - != 0) + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -2454,8 +2446,7 @@ instruction_wfdata(struct_processus *s_e return; } - if (pthread_mutex_unlock(&((*s_etat_processus) - .mutex_fork)) != 0) + if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -2463,8 +2454,7 @@ instruction_wfdata(struct_processus *s_e nanosleep(&attente, NULL); - if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) - != 0) + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -2647,8 +2637,7 @@ instruction_wfsock(struct_processus *s_e { drapeau = d_vrai; - if (pthread_mutex_unlock(&((*s_etat_processus).mutex_fork)) - != 0) + if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -2661,8 +2650,7 @@ instruction_wfsock(struct_processus *s_e { erreur = errno; - if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) - != 0) + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -2691,8 +2679,7 @@ instruction_wfsock(struct_processus *s_e } else { - if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) - != 0) + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -2727,8 +2714,7 @@ instruction_wfsock(struct_processus *s_e { drapeau = d_vrai; - if (pthread_mutex_unlock(&((*s_etat_processus).mutex_fork)) - != 0) + if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -2741,8 +2727,7 @@ instruction_wfsock(struct_processus *s_e { erreur = errno; - if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) - != 0) + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -2771,7 +2756,7 @@ instruction_wfsock(struct_processus *s_e } else { - if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -2826,8 +2811,7 @@ instruction_wfsock(struct_processus *s_e { drapeau = d_vrai; - if (pthread_mutex_unlock(&((*s_etat_processus).mutex_fork)) - != 0) + if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -2839,8 +2823,7 @@ instruction_wfsock(struct_processus *s_e { erreur = errno; - if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) - != 0) + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -2869,8 +2852,7 @@ instruction_wfsock(struct_processus *s_e } else { - if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) - != 0) + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -3153,7 +3135,7 @@ instruction_wfpoke(struct_processus *s_e do { - if (pthread_mutex_unlock(&((*s_etat_processus).mutex_fork)) != 0) + if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -3161,7 +3143,7 @@ instruction_wfpoke(struct_processus *s_e nanosleep(&attente, NULL); - if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) != 0) + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -3300,7 +3282,7 @@ instruction_wfack(struct_processus *s_et return; } - if (pthread_mutex_unlock(&((*s_etat_processus).mutex_fork)) != 0) + if (sem_post(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return; @@ -3309,7 +3291,7 @@ instruction_wfack(struct_processus *s_et nanosleep(&attente, NULL); INCR_GRANULARITE(attente.tv_nsec); - if (pthread_mutex_lock(&((*s_etat_processus).mutex_fork)) != 0) + if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; return;