Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
use MSG_init instead of xbt_init since someone wrongly create mutexes
authorMartin Quinson <martin.quinson@loria.fr>
Thu, 22 Nov 2012 22:01:36 +0000 (23:01 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Thu, 22 Nov 2012 22:01:36 +0000 (23:01 +0100)
There should not be necessary to call MSG_init to create xbt_mutexes,
but since this creation induces a simcall, we'd better initialize
simix.

This is not sufficient though, as maestro_context does not seem to be
initialized this way, leading to a try to dereference the host of the
current process, that was never set.

tools/sg_unit_extractor.pl

index 66ef7d7..41ab6cb 100755 (executable)
@@ -120,6 +120,7 @@ sub process_one($) {
        open OUT,">${outdir}simgrid_units_main.c" || die "$progname: Cannot open main file '${outdir}simgrid_units_main.c': $!\n";
        print OUT $GENERATED;
        print OUT "#include <stdio.h>\n\n";
        open OUT,">${outdir}simgrid_units_main.c" || die "$progname: Cannot open main file '${outdir}simgrid_units_main.c': $!\n";
        print OUT $GENERATED;
        print OUT "#include <stdio.h>\n\n";
+       print OUT "#include \"msg/msg.h\" /* MSG_init, xbt_init is not enough when using synchronized dynars */\n";
        print OUT "#include \"xbt.h\"\n\n";
        print OUT "extern xbt_test_unit_t _xbt_current_unit;\n\n";
        print OUT "/* SGU: BEGIN PROTOTYPES */\n";
        print OUT "#include \"xbt.h\"\n\n";
        print OUT "extern xbt_test_unit_t _xbt_current_unit;\n\n";
        print OUT "/* SGU: BEGIN PROTOTYPES */\n";
@@ -137,7 +138,7 @@ int main(int argc, char *argv[]) {
   /* SGU: BEGIN SUITES DECLARATION */
   /* SGU: END SUITES DECLARATION */
       
   /* SGU: BEGIN SUITES DECLARATION */
   /* SGU: END SUITES DECLARATION */
       
-  xbt_init(&argc,argv);
+  MSG_init(&argc,argv);
     
   /* Search for the tests to do */
     selection[0]='\\0';
     
   /* Search for the tests to do */
     selection[0]='\\0';