version 1.49, 2012/01/25 16:38:30
|
version 1.55, 2012/09/15 12:57:09
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.6 |
RPL/2 (R) version 4.1.10 |
Copyright (C) 1989-2012 Dr. BERTRAND Joël |
Copyright (C) 1989-2012 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
Line 184 sequenceur(struct_processus *s_etat_proc
|
Line 184 sequenceur(struct_processus *s_etat_proc
|
nouveau_keymap = rl_copy_keymap(ancien_keymap); |
nouveau_keymap = rl_copy_keymap(ancien_keymap); |
rl_set_keymap(nouveau_keymap); |
rl_set_keymap(nouveau_keymap); |
|
|
rl_bind_key('\n', readline_analyse_syntaxique); |
rl_bind_key(NEWLINE, readline_analyse_syntaxique); |
rl_bind_key('\r', readline_analyse_syntaxique); |
rl_bind_key(RETURN, readline_analyse_syntaxique); |
|
rl_bind_key(CTRL('g'), readline_effacement); |
rl_done = 0; |
rl_done = 0; |
|
|
ligne = readline("RPL/2> "); |
ligne = readline("RPL/2> "); |
Line 1230 sequenceur(struct_processus *s_etat_proc
|
Line 1231 sequenceur(struct_processus *s_etat_proc
|
(strcmp(instruction_majuscule, "FOR") == 0) || |
(strcmp(instruction_majuscule, "FOR") == 0) || |
(strcmp(instruction_majuscule, "START") == 0) || |
(strcmp(instruction_majuscule, "START") == 0) || |
(strcmp(instruction_majuscule, "SELECT") == 0) |
(strcmp(instruction_majuscule, "SELECT") == 0) |
|
|| |
|
(strcmp(instruction_majuscule, "CRITICAL") == 0) |
|| (strcmp(instruction_majuscule, "CASE") == 0) |
|| (strcmp(instruction_majuscule, "CASE") == 0) |
|| (strcmp(instruction_majuscule, "<<") == 0)) |
|| (strcmp(instruction_majuscule, "<<") == 0)) |
{ |
{ |
Line 1271 sequenceur(struct_processus *s_etat_proc
|
Line 1274 sequenceur(struct_processus *s_etat_proc
|
} |
} |
else |
else |
{ |
{ |
|
// Traitement spécifique pour la fin |
|
// d'une section critique |
|
|
|
if ((*s_etat_processus).l_base_pile_systeme |
|
== NULL) |
|
{ |
|
(*s_etat_processus).erreur_systeme = |
|
d_es_processus; |
|
return(d_erreur); |
|
} |
|
|
|
if ((*(*s_etat_processus).l_base_pile_systeme) |
|
.type_cloture == 'Q') |
|
{ |
|
if (pthread_mutex_unlock( |
|
&mutex_sections_critiques) != 0) |
|
{ |
|
(*s_etat_processus).erreur_systeme = |
|
d_es_processus; |
|
return(d_erreur); |
|
} |
|
|
|
(*s_etat_processus).sections_critiques--; |
|
} |
|
|
depilement_pile_systeme(s_etat_processus); |
depilement_pile_systeme(s_etat_processus); |
|
|
if ((*s_etat_processus).erreur_systeme != d_es) |
if ((*s_etat_processus).erreur_systeme != d_es) |
Line 1313 sequenceur(struct_processus *s_etat_proc
|
Line 1341 sequenceur(struct_processus *s_etat_proc
|
(strcmp(instruction_majuscule, "FOR") == 0) || |
(strcmp(instruction_majuscule, "FOR") == 0) || |
(strcmp(instruction_majuscule, "START") == 0) || |
(strcmp(instruction_majuscule, "START") == 0) || |
(strcmp(instruction_majuscule, "SELECT") == 0) |
(strcmp(instruction_majuscule, "SELECT") == 0) |
|
|| (strcmp(instruction_majuscule, "CRITICAL") == 0) |
|| (strcmp(instruction_majuscule, "CASE") == 0) |
|| (strcmp(instruction_majuscule, "CASE") == 0) |
|| (strcmp(instruction_majuscule, "<<") == 0)) |
|| (strcmp(instruction_majuscule, "<<") == 0)) |
{ |
{ |