--- rpl/LIMITATIONS 2010/04/28 06:41:06 1.18 +++ rpl/LIMITATIONS 2011/06/10 11:35:11 1.37 @@ -4,39 +4,77 @@ RESTRICTIONS Économisons notre mépris eut égard au nombre de nécessiteux. Chateaubriand. -Mettre les variables dans un arbre avec une liste chaîne des niveaux dans -chaque maillon de la pile système. -> version 4.1 +Libérer la mémoire (arbre des variables) à la fin d'un processus et d'un thread +Convertir avec le nouveau système de la gestion de la mémoire : +- CLUSR +- MEM +- PRUSR +- VARS + +- READ FLOW (longueur_effective ligne 2815) +rpl/src/'`instructions_w1-conv.c +instructions_w1-conv.c: In function ‘librpl_instruction_write’: +instructions_w1-conv.c:1603: warning: ‘ios’ may be used uninitialized in this +function +instructions_w1-conv.c:431: warning: ‘chaine’ may be used uninitialized in this +function + +interruptions-conv.c: In function ‘librpl_liberation_threads’: +interruptions-conv.c:806: error: ‘struct_processus’ has no member named +‘nombre_variables’ +interruptions-conv.c:809: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +interruptions-conv.c:811: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +interruptions-conv.c:815: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +interruptions-conv.c:818: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +interruptions-conv.c:821: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +interruptions-conv.c:824: error: ‘struct_processus’ has no member named +‘s_liste_variables’ + + +optimisation-conv.c: In function ‘librpl_sequenceur_optimise’: +optimisation-conv.c:75: error: ‘struct_processus’ has no member named +‘nombre_variables’ +optimisation-conv.c:77: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +optimisation-conv.c:82: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +optimisation-conv.c:133: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +optimisation-conv.c:136: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +optimisation-conv.c:151: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +optimisation-conv.c:216: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +optimisation-conv.c:234: error: ‘struct_processus’ has no member named +‘s_liste_variables’ + + +rpl-conv.c: In function ‘librpl_rplinit’: +rpl-conv.c:3219: error: ‘struct_processus’ has no member named +‘nombre_variables’ +rpl-conv.c:3222: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +rpl-conv.c:3223: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +rpl-conv.c:3226: error: ‘struct_processus’ has no member named +‘s_liste_variables’ + + +Traiter SIGTERM +RUN +Ajouter MULTICAST (pour les sockets) +Rajouter le test des dépassements pour INCR et DECR -Mettre les variables dans un arbre mis à plat : -[ niveau 1 ][ niveau 2,1 ][ niveau 2,5 ][ niveau 3,1 ]... -avec des pointeur relatifs pour pouvoir copier rapidement par un -memcpy() l'ensemble de la structure de description des variables lors -d'un spawn. +4.1 -> nouvelle gestion des variables -Vérifier le partage du générateur aléatoire entre les threads et les processus ! -Partage des RSTOP - -Empêcher les interruptions ctrlC dans les appels récursifs (evaluation et -sequenceur) -Connexion au terminal de contrôle perdue ! - -Routing library unloaded. - -+++Erreur : Type d'argument invalide pour la commande SWAP [27630] - -+++Information : Génération du fichier rpl-core [27630] -+++Erreur : Type d'argument invalide pour la commande GET [27630] - -+++Erreur : Type d'argument invalide pour la commande >> [27630] -+++Information : Génération du fichier rpl-core [27630] - -+++Erreur : Type d'argument invalide pour la commande > [27630] -+++Information : Génération du fichier rpl-core [27630] - -+++Information : Génération du fichier rpl-core [27630] -tchaikovski:[~/rpl/cvs/optimisation] > ./serveur.rpl - --> toujours une erreur de type _type d'argument invalide_ ! +Ajouter TeXmacs +Ajouter giac$fonction Dessiner les niveaux sur les graphes { "main" { "default" } { "automatic" 10 } } axes redraw @@ -125,11 +163,19 @@ DELNODE { arguments } << programme >> << interruption >> SUBMIT arg1 ... argn n << programme >> << interruption >> SUBMIT -n BATCH (lance N threads simultanés en boucle) Arrêt lorsque DELNODE est -appelé du noeud maître + +rpl -b (batch) 32 (nombre de threads) FOREIGN (pour les variables) +Côté esclave +foreign -> X Y Z << >> +FVARLOCK +FVARUNLOCK + +Côté maître +foreign -> X Y Z << >> (il faut savoir si on est sur le mêtre ou sur un esclave) + FOREIGN permet à un esclave d'accéder à une variable partagée du maître. @@ -168,8 +214,6 @@ probablement identique dans ton cas - fgetwc, fputwc, fwprintf etc. pour les entrées-sorties - wcs*() qui remplace les fonctions en str*() -FLOW (utilise en lecture FORMAT) - Vérifier la cohérence des arguments de OPEN TO DO