--- rpl/src/instructions_l4.c 2010/01/27 22:22:14 1.2 +++ rpl/src/instructions_l4.c 2010/04/21 13:45:48 1.8 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.0.10 + RPL/2 (R) version 4.0.15 Copyright (C) 1989-2010 Dr. BERTRAND Joël This file is part of RPL/2. @@ -716,6 +716,8 @@ instruction_lock(struct_processus *s_eta struct flock lock; + struct_descripteur_fichier *fichier; + struct_objet *s_objet_argument_1; struct_objet *s_objet_argument_2; @@ -811,12 +813,14 @@ instruction_lock(struct_processus *s_eta free(chaine); - if ((descripteur = descripteur_fichier(s_etat_processus, + if ((fichier = descripteur_fichier(s_etat_processus, (struct_fichier *) (*s_objet_argument_2).objet)) == NULL) { return; } + descripteur = (*fichier).descripteur_c; + if (fcntl(fileno(descripteur), F_SETLK, &lock) == -1) { liberation(s_etat_processus, s_objet_argument_1);