alliance-programmers '2000
ALC : CVS loginfo, mbk


Gregoire AVOT (Gregoire.AVOT@asim.lip6.fr)
Fri, 17 Nov 2000 20:08:33 +0100 (MET)

=================================================================== Modification le : Fri Nov 17 20:08:16 MET 2000 Par : gregoire =================================================================== Update of /users/outil/alliance/cvsroot/alliance/sources/mbk In directory beny:/local/beny2/greg/alliance/sources/mbk Modified Files: mbk_sys.c mbk_util.c mut325.h Log Message: Modification de la gestion des processus fils pour fonctionner dans un environnement multiprocesseurs (beny). Maintenant, quand on veut créer dans un alliance un processus fils (avec fork() par exemple), il faut récupérer proprement le code de retour. - Soit on veut le récupérer soit même : dans ce cas il faudra utiliser le momment voulu la fonction mbkwaitpid(). - Soit on en a rien a faire, et on laisse Alliance supprimer les processus fils. Pour cela, il faut le spécifier après le fork en utilisant la commande mbksetautoackchld( numéro du pid fils ). Dans tous les cas, il ne faut pas modifier le comportement et le handler du signal SIGCHLD. =================================================================== Index: mbk_sys.c =================================================================== RCS file: /users/outil/alliance/cvsroot/alliance/sources/mbk/mbk_sys.c,v retrieving revision 1.22 retrieving revision 1.23 diff -r1.22 -r1.23 40a41 > #include <errno.h> 48c49,54 < endchld_list *HEAD_END_CHLD=NULL; --- > endchld_list *HEAD_ENDCHLD=NULL; > endchld_list *HEAD_ENDCHLD_FREE=NULL; > int STAT_ENDCHLD; > autoackchld_list *HEAD_AUTOACKCHLD=NULL; > autoackchld_list *HEAD_AUTOACKCHLD_FREE=NULL; > int STAT_AUTOACKCHLD; 579a586 > mbksetautoackchld( pid ); 695,699c702,709 < int pid; < int status; < endchld_list *new; < sigset_t ens; < struct sigaction sgct; --- > int pid; > int status; > endchld_list *new; > int err; > autoackchld_list *scanauto, *prevauto; > > /* Le handlert d'interruption SIGCHLD. Il doit avoir été configuré pour ne > * pas être interrompu par lui même. */ 701d710 < 707c716 < (int)SIGCHLD --- > (int)sig 711,717d719 < < pid = wait( &status ); < new = (endchld_list*)mbkalloc( sizeof( endchld_list )); < new->NEXT = HEAD_END_CHLD; < HEAD_END_CHLD = new; < new->PID = pid; < new->STATUS = status; 719,727c721,918 < #ifndef AUTO_HAS_SA_RESTART =================================================================== Ce message est envoyé au personnes abonnées à alliance-programmers Pour plus d'information sur cette mailling-list, visitez : http://asim.lip6.fr/alliance/mailing-lists/

 



Alliance Web Site © 1997, 2002 ASIM/LIP6/UPMC, page maintained by Czo [Olivier Sirol] , last updated on 22 March 2001.