Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge remote-tracking branch 'origin/master'
authorjean-noel quintin <jnquintin@Jean-Noels-MacBook.local>
Thu, 21 Jun 2012 12:41:06 +0000 (14:41 +0200)
committerjean-noel quintin <jnquintin@Jean-Noels-MacBook.local>
Thu, 21 Jun 2012 12:41:06 +0000 (14:41 +0200)
102 files changed:
ChangeLog
buildtools/Cmake/DefinePackages.cmake
buildtools/Cmake/Distrib.cmake
buildtools/Cmake/GenerateRefGuide.cmake
buildtools/Cmake/GenerateUserGuide.cmake
doc/Doxyfile.in
doc/FAQ.doc [moved from doc/user_guide/doxygen/FAQ.doc with 100% similarity]
doc/user_guide/doxygen/UserGuideDoxyfile.in
doc/user_guide/doxygen/gtut-files/gtut-howto-design.doc [moved from doc/user_guide/doxygen/gtut-howto-design.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-howto.doc [moved from doc/user_guide/doxygen/gtut-howto.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-introduction.doc [moved from doc/user_guide/doxygen/gtut-introduction.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-main.doc [moved from doc/user_guide/doxygen/gtut-main.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-tour-00-install.doc [moved from doc/user_guide/doxygen/gtut-tour-00-install.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-tour-01-bones.doc [moved from doc/user_guide/doxygen/gtut-tour-01-bones.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-tour-02-simple.doc [moved from doc/user_guide/doxygen/gtut-tour-02-simple.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-tour-03-args.doc [moved from doc/user_guide/doxygen/gtut-tour-03-args.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-tour-04-callback.doc [moved from doc/user_guide/doxygen/gtut-tour-04-callback.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-tour-05-globals.doc [moved from doc/user_guide/doxygen/gtut-tour-05-globals.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-tour-06-logs.doc [moved from doc/user_guide/doxygen/gtut-tour-06-logs.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-tour-07-timers.doc [moved from doc/user_guide/doxygen/gtut-tour-07-timers.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-tour-08-exceptions.doc [moved from doc/user_guide/doxygen/gtut-tour-08-exceptions.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-tour-09-simpledata.doc [moved from doc/user_guide/doxygen/gtut-tour-09-simpledata.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-tour-10-rpc.doc [moved from doc/user_guide/doxygen/gtut-tour-10-rpc.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-tour-11-explicitwait.doc [moved from doc/user_guide/doxygen/gtut-tour-11-explicitwait.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-tour-12-staticstruct.doc [moved from doc/user_guide/doxygen/gtut-tour-12-staticstruct.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-tour-13-pointers.doc [moved from doc/user_guide/doxygen/gtut-tour-13-pointers.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-tour-14-dynar.doc [moved from doc/user_guide/doxygen/gtut-tour-14-dynar.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-tour-15-manualdatadef.doc [moved from doc/user_guide/doxygen/gtut-tour-15-manualdatadef.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-tour-16-exchangecb.doc [moved from doc/user_guide/doxygen/gtut-tour-16-exchangecb.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-tour-recap-messages.doc [moved from doc/user_guide/doxygen/gtut-tour-recap-messages.doc with 100% similarity]
doc/user_guide/doxygen/gtut-files/gtut-tour.doc [moved from doc/user_guide/doxygen/gtut-tour.doc with 100% similarity]
examples/msg/actions/actions.c
examples/msg/chord/chord.c
examples/msg/cloud/masterslave_virtual_machines.c
examples/msg/cloud/masterslave_virtual_machines.tesh
examples/msg/gpu/test_MSG_gpu_task_create.c
examples/msg/gtnets/gtnets.c
examples/msg/icomms/peer.c
examples/msg/icomms/peer2.c
examples/msg/icomms/peer3.c
examples/msg/io/file.c
examples/msg/masterslave/masterslave_arg.c
examples/msg/masterslave/masterslave_bypass.c
examples/msg/masterslave/masterslave_cluster.c
examples/msg/masterslave/masterslave_console.c
examples/msg/masterslave/masterslave_failure.c
examples/msg/masterslave/masterslave_forwarder.c
examples/msg/masterslave/masterslave_kill.c
examples/msg/masterslave/masterslave_mailbox.c
examples/msg/mc/CMakeLists.txt
examples/msg/mc/bugged1.c
examples/msg/mc/bugged1_for_liveness.c
examples/msg/mc/bugged1_stateful.c [deleted file]
examples/msg/mc/bugged1_while_liveness.c
examples/msg/mc/bugged2.c
examples/msg/mc/bugged2_liveness.c
examples/msg/mc/bugged2_stateful.c [deleted file]
examples/msg/mc/bugged3.c
examples/msg/mc/centralized_liveness.c
examples/msg/mc/centralized_liveness_deadlock.c
examples/msg/mc/centralized_mutex.c
examples/msg/mc/random_test.c
examples/msg/mc/test_snapshot.c
examples/msg/migration/migration.c
examples/msg/parallel_task/parallel_task.c
examples/msg/parallel_task/test_ptask.c
examples/msg/pmm/msg_pmm.c
examples/msg/priority/priority.c
examples/msg/properties/msg_prop.c
examples/msg/sendrecv/sendrecv.c
examples/msg/start_kill_time/sk_time.c
examples/msg/suspend/suspend.c
examples/msg/token_ring/ring_call.c
examples/msg/tracing/categories.c
examples/msg/tracing/link_srcdst_user_variables.c
examples/msg/tracing/link_user_variables.c
examples/msg/tracing/ms.c
examples/msg/tracing/procmig.c
examples/msg/tracing/simple.c
examples/msg/tracing/trace_platform.c
examples/msg/tracing/user_variables.c
include/msg/msg.h
include/simgrid/modelchecker.h
include/simgrid_config.h.in
src/bindings/lua/simgrid_lua.c
src/include/mc/mc.h
src/mc/mc_dpor.c
src/mc/mc_global.c
src/mc/mc_private.h
src/mc/mc_state.c
src/msg/msg_global.c
src/msg/msg_gos.c
src/msg/msg_mailbox.c
src/simix/smx_host.c
src/simix/smx_network.c
src/simix/smx_process.c
src/surf/surf.c
src/xbt/automaton/automatonparse_promela.c
teshsuite/msg/get_sender.c
teshsuite/msg/trace/test_trace_integration.c
teshsuite/simdag/platforms/basic_tracing.c
tools/graphicator/graphicator.c

index ff535f7..3b5d1c4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -12,6 +12,10 @@ SimGrid (3.8) NOT RELEASED; urgency=low
    process groups with very few intrinsic semantic, but they should
    allow you to build the semantic you want easily.
  * New function: MSG_host_set_property_value()
+ * Deprecate functions MSG_global_init() / MSG_global_init_args()
+   Please use MSG_init() instead. (reducing the amount of entry 
+   points in the library helps us).
+ * Make it impossible to link against the wrong version of the lib
 
  Simix:
  * Bug fixes around the resource failures: don't let the processes
index a96c009..592ddb8 100644 (file)
 ### define source packages
 
 set(EXTRA_DIST 
-       src/portable.h
-       src/xbt/mallocator_private.h
-       src/xbt/dict_private.h
-       src/xbt/heap_private.h
-       src/xbt/fifo_private.h
-       src/xbt/graph_private.h
-       src/xbt/graphxml_parse.c
-       src/xbt/graphxml.c
-       src/xbt/graphxml.dtd
-       src/xbt/log_private.h
-       src/xbt/ex_interface.h
-       src/xbt/backtrace_linux.c
-       src/xbt/backtrace_windows.c
-       src/xbt/backtrace_dummy.c
-       src/xbt/setset_private.h
-       src/xbt/mmalloc/mfree.c
-       src/xbt/mmalloc/mmalloc.c
-       src/xbt/mmalloc/mmalloc.info
-       src/xbt/mmalloc/mmalloc.texi
-       src/xbt/mmalloc/mm.c
-    src/xbt/mmalloc/mm_diff.c
-       src/xbt/mmalloc/mm_legacy.c
-       src/xbt/mmalloc/mm_module.c
-       src/xbt/mmalloc/mmorecore.c
-       src/xbt/mmalloc/mmprivate.h             
-       src/xbt/mmalloc/mmtrace.awk
-       src/xbt/mmalloc/mrealloc.c      
-       src/xbt/mmalloc/test/mmalloc_test.c
-       src/xbt/datadesc/ddt_parse.yy.l
-       src/xbt/datadesc/ddt_parse.yy.h
-    src/xbt/automaton/y.tab.c
-    src/xbt/automaton/y.tab.h
-    src/xbt/automaton/automaton_parse.yy.c
-    src/xbt/automaton/parserPromela.lex
-    src/xbt/automaton/parserPromela.yacc
-       src/surf/maxmin_private.h
-       src/surf/trace_mgr_private.h
-       src/surf/surf_private.h
-       src/surf/surfxml_parse.c
-       src/surf/simgrid_dtd.c
-       src/surf/simgrid.dtd
-       src/surf/network_private.h
-       src/surf/storage_private.h
-       src/surf/network_gtnets_private.h
-       src/surf/gtnets/gtnets_interface.h
-       src/surf/gtnets/gtnets_simulator.h
-       src/surf/gtnets/gtnets_topology.h
-       src/surf/cpu_ti_private.h
-       src/surf/surf_routing_private.h
-       src/include/simgrid/platf_interface.h
-       src/include/surf/surf_resource.h
-       src/include/surf/datatypes.h
-       src/include/surf/maxmin.h
-       src/include/surf/trace_mgr.h
-       src/include/surf/surf.h
-       src/include/surf/surfxml_parse_values.h
-       src/include/surf/random_mgr.h
-       src/include/surf/surf_resource_lmm.h
-       src/include/xbt/wine_dbghelp.h
-       src/include/xbt/xbt_os_time.h
-       src/include/mc/datatypes.h
-       src/include/mc/mc.h
-       src/msg/msg_private.h
-       src/msg/msg_mailbox.h
-       src/simdag/private.h
-       src/simdag/dax.dtd
-       src/simdag/dax_dtd.h
-       src/simdag/dax_dtd.c
-       src/gras/Virtu/virtu_rl.h
-       src/gras/Virtu/virtu_sg.h
-       src/gras/Virtu/virtu_interface.h
-       src/gras/Virtu/virtu_private.h
-       src/gras/Transport/transport_interface.h
-       src/amok/Bandwidth/bandwidth_private.h
-       src/amok/amok_modinter.h
-       src/simix/smx_private.h
-       src/simix/smx_process_private.h
-       src/simix/smx_host_private.h
-       src/simix/smx_network_private.h
-       src/simix/smx_smurf_private.h
-       src/simix/smx_synchro_private.h
-       src/simix/smx_io_private.h
-       
-       src/smpi/private.h
-       src/smpi/smpi_mpi_dt_private.h
-       src/smpi/README
-       src/mk_supernovae.pl
-       
-       tools/gras/gras_stub_generator.h
-       tools/tesh/run_context.h  
-       tools/tesh/tesh.h
-       
-       src/surf/network_ns3_private.h
-       src/surf/ns3/ns3_interface.h
-       src/surf/ns3/ns3_simulator.h
-       src/surf/ns3/my-point-to-point-helper.h
-       src/surf/ns3/red-queue.h
+  src/portable.h
+  src/xbt/mallocator_private.h
+  src/xbt/dict_private.h
+  src/xbt/heap_private.h
+  src/xbt/fifo_private.h
+  src/xbt/graph_private.h
+  src/xbt/graphxml_parse.c
+  src/xbt/graphxml.c
+  src/xbt/graphxml.dtd
+  src/xbt/log_private.h
+  src/xbt/ex_interface.h
+  src/xbt/backtrace_linux.c
+  src/xbt/backtrace_windows.c
+  src/xbt/backtrace_dummy.c
+  src/xbt/setset_private.h
+  src/xbt/mmalloc/mfree.c
+  src/xbt/mmalloc/mmalloc.c
+  src/xbt/mmalloc/mmalloc.info
+  src/xbt/mmalloc/mmalloc.texi
+  src/xbt/mmalloc/mm.c
+  src/xbt/mmalloc/mm_diff.c
+  src/xbt/mmalloc/mm_legacy.c
+  src/xbt/mmalloc/mm_module.c
+  src/xbt/mmalloc/mmorecore.c
+  src/xbt/mmalloc/mmprivate.h
+  src/xbt/mmalloc/mmtrace.awk
+  src/xbt/mmalloc/mrealloc.c
+  src/xbt/mmalloc/test/mmalloc_test.c
+  src/xbt/datadesc/ddt_parse.yy.l
+  src/xbt/datadesc/ddt_parse.yy.h
+  src/xbt/automaton/y.tab.c
+  src/xbt/automaton/y.tab.h
+  src/xbt/automaton/automaton_parse.yy.c
+  src/xbt/automaton/parserPromela.lex
+  src/xbt/automaton/parserPromela.yacc
+  src/surf/maxmin_private.h
+  src/surf/trace_mgr_private.h
+  src/surf/surf_private.h
+  src/surf/surfxml_parse.c
+  src/surf/simgrid_dtd.c
+  src/surf/simgrid.dtd
+  src/surf/network_private.h
+  src/surf/storage_private.h
+  src/surf/network_gtnets_private.h
+  src/surf/gtnets/gtnets_interface.h
+  src/surf/gtnets/gtnets_simulator.h
+  src/surf/gtnets/gtnets_topology.h
+  src/surf/cpu_ti_private.h
+  src/surf/surf_routing_private.h
+  src/include/simgrid/platf_interface.h
+  src/include/surf/surf_resource.h
+  src/include/surf/datatypes.h
+  src/include/surf/maxmin.h
+  src/include/surf/trace_mgr.h
+  src/include/surf/surf.h
+  src/include/surf/surfxml_parse_values.h
+  src/include/surf/random_mgr.h
+  src/include/surf/surf_resource_lmm.h
+  src/include/xbt/wine_dbghelp.h
+  src/include/xbt/xbt_os_time.h
+  src/include/mc/datatypes.h
+  src/include/mc/mc.h
+  src/msg/msg_private.h
+  src/msg/msg_mailbox.h
+  src/simdag/private.h
+  src/simdag/dax.dtd
+  src/simdag/dax_dtd.h
+  src/simdag/dax_dtd.c
+  src/gras/Virtu/virtu_rl.h
+  src/gras/Virtu/virtu_sg.h
+  src/gras/Virtu/virtu_interface.h
+  src/gras/Virtu/virtu_private.h
+  src/gras/Transport/transport_interface.h
+  src/amok/Bandwidth/bandwidth_private.h
+  src/amok/amok_modinter.h
+  src/simix/smx_private.h
+  src/simix/smx_process_private.h
+  src/simix/smx_host_private.h
+  src/simix/smx_network_private.h
+  src/simix/smx_smurf_private.h
+  src/simix/smx_synchro_private.h
+  src/simix/smx_io_private.h
+
+  src/smpi/private.h
+  src/smpi/smpi_mpi_dt_private.h
+  src/smpi/README
+  src/mk_supernovae.pl
+  
+  tools/gras/gras_stub_generator.h
+  tools/tesh/run_context.h  
+  tools/tesh/tesh.h
+  
+  src/surf/network_ns3_private.h
+  src/surf/ns3/ns3_interface.h
+  src/surf/ns3/ns3_simulator.h
+  src/surf/ns3/my-point-to-point-helper.h
+  src/surf/ns3/red-queue.h
 )
 
 set(XBT_RL_SRC 
-       src/xbt/xbt_rl_synchro.c
-       src/xbt/xbt_rl_time.c
+  src/xbt/xbt_rl_synchro.c
+  src/xbt/xbt_rl_time.c
 )
 
 set(XBT_SG_SRC 
-       src/xbt/xbt_sg_synchro.c
-       src/xbt/xbt_sg_time.c
+  src/xbt/xbt_sg_synchro.c
+  src/xbt/xbt_sg_time.c
 )     
 
 set(SMPI_SRC
-       src/smpi/smpi_base.c
-       src/smpi/smpi_bench.c
-       src/smpi/smpi_global.c
-       src/smpi/smpi_mpi.c
-       src/smpi/smpi_pmpi.c
-       src/smpi/smpi_c99.c
-       src/smpi/smpi_f77.c
-       src/smpi/smpi_comm.c
-       src/smpi/smpi_group.c
-       src/smpi/smpi_coll.c
-       src/smpi/smpi_mpi_dt.c
+  src/smpi/smpi_base.c
+  src/smpi/smpi_bench.c
+  src/smpi/smpi_global.c
+  src/smpi/smpi_mpi.c
+  src/smpi/smpi_pmpi.c
+  src/smpi/smpi_c99.c
+  src/smpi/smpi_f77.c
+  src/smpi/smpi_comm.c
+  src/smpi/smpi_group.c
+  src/smpi/smpi_coll.c
+  src/smpi/smpi_mpi_dt.c
 )
 
 
 set(GRAS_RL_SRC
-       src/gras/rl_stubs.c
-       src/xbt/xbt_os_thread.c
-       src/gras/Transport/rl_transport.c
-       src/gras/Virtu/rl_emul.c
-       src/gras/Virtu/rl_process.c
-       src/gras/Virtu/rl_dns.c
-       src/gras/Msg/rl_msg.c
-       ${XBT_RL_SRC}
+  src/gras/rl_stubs.c
+  src/xbt/xbt_os_thread.c
+  src/gras/Transport/rl_transport.c
+  src/gras/Virtu/rl_emul.c
+  src/gras/Virtu/rl_process.c
+  src/gras/Virtu/rl_dns.c
+  src/gras/Msg/rl_msg.c
+  ${XBT_RL_SRC}
 )
 
 set(XBT_SRC 
-       src/xbt/snprintf.c
-       src/xbt/xbt_str.c
-       src/xbt/xbt_strbuff.c
-       src/xbt/xbt_sha.c
-       src/xbt/ex.c
-       src/xbt_modinter.h
-       src/gras_modinter.h
-       src/xbt/xbt_virtu.c
-       src/xbt/xbt_os_time.c
-       src/xbt/log.c
-       src/xbt/xbt_log_appender_file.c
-       src/xbt/xbt_log_layout_simple.c
-       src/xbt/xbt_log_layout_format.c
-       src/xbt/mallocator.c
-       src/xbt/dynar.c
-       src/xbt/dict.c
-       src/xbt/dict_elm.c
-       src/xbt/dict_cursor.c
-       src/xbt/dict_multi.c
-       src/xbt/heap.c
-       src/xbt/fifo.c
-       src/xbt/swag.c
-       src/xbt/graph.c
-       src/xbt/set.c
-       src/xbt/xbt_matrix.c
-       src/xbt/xbt_queue.c
-       src/xbt/xbt_synchro.c
-       src/xbt/xbt_peer.c
-       src/xbt/xbt_main.c
-       src/xbt/config.c
-       src/xbt/cunit.c
-       src/xbt/graphxml_parse.c
-       src/xbt/setset.c
-       src/xbt/parmap.c
-       src/xbt/xbt_replay.c
-       src/xbt/lib.c
-       src/xbt/automaton/automatonparse_promela.c
-       src/xbt/automaton/automaton.c
-       src/xbt/automaton/automaton_create.c
-       src/xbt/automaton/automaton_create.h
-       src/xbt/datadesc/ddt_create.c
-       src/xbt/datadesc/ddt_convert.c
-       src/xbt/datadesc/ddt_exchange.c
-       src/xbt/datadesc/cbps.c
-       src/xbt/datadesc/datadesc.c
-       src/xbt/datadesc/datadesc_interface.h
-       src/xbt/datadesc/datadesc_private.h
-       src/xbt/datadesc/ddt_parse.c
-       src/xbt/datadesc/ddt_parse.yy.c
-       src/xbt/xbt_socket.c
-       src/xbt/xbt_socket_private.h
-       src/xbt/xbt_trp_plugin_tcp.c
-       src/xbt/RngStream.c
+  src/xbt/snprintf.c
+  src/xbt/xbt_str.c
+  src/xbt/xbt_strbuff.c
+  src/xbt/xbt_sha.c
+  src/xbt/ex.c
+  src/xbt_modinter.h
+  src/gras_modinter.h
+  src/xbt/xbt_virtu.c
+  src/xbt/xbt_os_time.c
+  src/xbt/log.c
+  src/xbt/xbt_log_appender_file.c
+  src/xbt/xbt_log_layout_simple.c
+  src/xbt/xbt_log_layout_format.c
+  src/xbt/mallocator.c
+  src/xbt/dynar.c
+  src/xbt/dict.c
+  src/xbt/dict_elm.c
+  src/xbt/dict_cursor.c
+  src/xbt/dict_multi.c
+  src/xbt/heap.c
+  src/xbt/fifo.c
+  src/xbt/swag.c
+  src/xbt/graph.c
+  src/xbt/set.c
+  src/xbt/xbt_matrix.c
+  src/xbt/xbt_queue.c
+  src/xbt/xbt_synchro.c
+  src/xbt/xbt_peer.c
+  src/xbt/xbt_main.c
+  src/xbt/config.c
+  src/xbt/cunit.c
+  src/xbt/graphxml_parse.c
+  src/xbt/setset.c
+  src/xbt/parmap.c
+  src/xbt/xbt_replay.c
+  src/xbt/lib.c
+  src/xbt/automaton/automatonparse_promela.c
+  src/xbt/automaton/automaton.c
+  src/xbt/automaton/automaton_create.c
+  src/xbt/automaton/automaton_create.h
+  src/xbt/datadesc/ddt_create.c
+  src/xbt/datadesc/ddt_convert.c
+  src/xbt/datadesc/ddt_exchange.c
+  src/xbt/datadesc/cbps.c
+  src/xbt/datadesc/datadesc.c
+  src/xbt/datadesc/datadesc_interface.h
+  src/xbt/datadesc/datadesc_private.h
+  src/xbt/datadesc/ddt_parse.c
+  src/xbt/datadesc/ddt_parse.yy.c
+  src/xbt/xbt_socket.c
+  src/xbt/xbt_socket_private.h
+  src/xbt/xbt_trp_plugin_tcp.c
+  src/xbt/RngStream.c
 )
 
 if(HAVE_MMAP)
-       set(XBT_SRC
-       ${XBT_SRC}
-       src/xbt/mmalloc/mm.c    
-       )
+  set(XBT_SRC
+    ${XBT_SRC}
+    src/xbt/mmalloc/mm.c  
+  )
 endif(HAVE_MMAP)
 
 set(GTNETS_SRC 
-       src/surf/gtnets/gtnets_simulator.cc
-       src/surf/gtnets/gtnets_topology.cc
-       src/surf/gtnets/gtnets_interface.cc
-       src/surf/network_gtnets.c
+  src/surf/gtnets/gtnets_simulator.cc
+  src/surf/gtnets/gtnets_topology.cc
+  src/surf/gtnets/gtnets_interface.cc
+  src/surf/network_gtnets.c
 )
 
 set(NS3_SRC
-       src/surf/network_ns3.c
-       src/surf/ns3/ns3_interface.cc
-       src/surf/ns3/ns3_simulator.cc
-       src/surf/ns3/red-queue.cc
-       src/surf/ns3/my-point-to-point-helper.cc
+  src/surf/network_ns3.c
+  src/surf/ns3/ns3_interface.cc
+  src/surf/ns3/ns3_simulator.cc
+  src/surf/ns3/red-queue.cc
+  src/surf/ns3/my-point-to-point-helper.cc
 )
-       
+  
 set(SURF_SRC 
-       src/surf/surf_model.c
-       src/surf/surf_action.c
-       src/surf/surf_routing.c
-       src/surf/surf_routing_none.c
-       src/surf/surf_routing_generic.c
-       src/surf/surf_routing_full.c
-       src/surf/surf_routing_floyd.c
-       src/surf/surf_routing_rulebased.c
-       src/surf/surf_routing_dijkstra.c
-       src/surf/surf_routing_cluster.c
-       src/surf/surf_routing_vivaldi.c
-       src/surf/surf_config.c
-       src/surf/maxmin.c
-       src/surf/fair_bottleneck.c
-       src/surf/lagrange.c
-       src/surf/trace_mgr.c
-       src/surf/random_mgr.c
-       src/surf/surf.c
-       src/surf/surfxml_parse.c
-       src/surf/surfxml_parseplatf.c
-       src/surf/network.c
-       src/surf/network_constant.c
-       src/surf/workstation.c
-       src/surf/workstation_ptask_L07.c
-       src/surf/cpu_ti.c
-       src/surf/cpu_cas01.c
-       src/surf/sg_platf.c
-       src/surf/storage.c
-       src/xbt/xbt_sg_stubs.c
+  src/surf/surf_model.c
+  src/surf/surf_action.c
+  src/surf/surf_routing.c
+  src/surf/surf_routing_none.c
+  src/surf/surf_routing_generic.c
+  src/surf/surf_routing_full.c
+  src/surf/surf_routing_floyd.c
+  src/surf/surf_routing_rulebased.c
+  src/surf/surf_routing_dijkstra.c
+  src/surf/surf_routing_cluster.c
+  src/surf/surf_routing_vivaldi.c
+  src/surf/surf_config.c
+  src/surf/maxmin.c
+  src/surf/fair_bottleneck.c
+  src/surf/lagrange.c
+  src/surf/trace_mgr.c
+  src/surf/random_mgr.c
+  src/surf/surf.c
+  src/surf/surfxml_parse.c
+  src/surf/surfxml_parseplatf.c
+  src/surf/network.c
+  src/surf/network_constant.c
+  src/surf/workstation.c
+  src/surf/workstation_ptask_L07.c
+  src/surf/cpu_ti.c
+  src/surf/cpu_cas01.c
+  src/surf/sg_platf.c
+  src/surf/storage.c
+  src/xbt/xbt_sg_stubs.c
 )
 
 set(SIMIX_SRC 
-       src/simix/smx_global.c
-       src/simix/smx_deployment.c
-       src/simix/smx_environment.c
-       src/simix/smx_host.c
-       src/simix/smx_process.c
-       src/simix/smx_context.c
-       src/simix/smx_synchro.c
-       src/simix/smx_network.c
-       src/simix/smx_context_base.c
-       src/simix/smx_user.c
-       src/simix/smx_smurf.c
-       src/simix/smx_context_raw.c
-       src/simix/smx_io.c
+  src/simix/smx_global.c
+  src/simix/smx_deployment.c
+  src/simix/smx_environment.c
+  src/simix/smx_host.c
+  src/simix/smx_process.c
+  src/simix/smx_context.c
+  src/simix/smx_synchro.c
+  src/simix/smx_network.c
+  src/simix/smx_context_base.c
+  src/simix/smx_user.c
+  src/simix/smx_smurf.c
+  src/simix/smx_context_raw.c
+  src/simix/smx_io.c
 )
 
 set(MSG_SRC
-       src/msg/msg_config.c
-       src/msg/msg_task.c
-       src/msg/msg_host.c
-       src/msg/msg_io.c
-       src/msg/msg_process.c
-       src/msg/msg_gos.c
-       src/msg/msg_global.c
-       src/msg/msg_environment.c
-       src/msg/msg_deployment.c
-       src/msg/msg_mailbox.c
-       src/msg/msg_actions.c
-       src/msg/msg_vm.c
+  src/msg/msg_config.c
+  src/msg/msg_task.c
+  src/msg/msg_host.c
+  src/msg/msg_io.c
+  src/msg/msg_process.c
+  src/msg/msg_gos.c
+  src/msg/msg_global.c
+  src/msg/msg_environment.c
+  src/msg/msg_deployment.c
+  src/msg/msg_mailbox.c
+  src/msg/msg_actions.c
+  src/msg/msg_vm.c
 )
 
 set(SIMDAG_SRC
-       src/simdag/sd_global.c
-       src/simdag/sd_link.c
-       src/simdag/sd_task.c
-       src/simdag/sd_workstation.c
-       src/simdag/sd_daxloader.c
+  src/simdag/sd_global.c
+  src/simdag/sd_link.c
+  src/simdag/sd_task.c
+  src/simdag/sd_workstation.c
+  src/simdag/sd_daxloader.c
 )
 if(HAVE_GRAPHVIZ)
-       set(SIMDAG_SRC 
-           ${SIMDAG_SRC} src/simdag/sd_dotloader.c
-       )
+  set(SIMDAG_SRC 
+    ${SIMDAG_SRC} src/simdag/sd_dotloader.c
+  )
 else(HAVE_GRAPHVIZ)
-       set(EXTRA_DIST
-           ${EXTRA_DIST} src/simdag/sd_dotloader.c
-       )
+  set(EXTRA_DIST
+    ${EXTRA_DIST} src/simdag/sd_dotloader.c
+  )
 endif(HAVE_GRAPHVIZ)
 
 set(GRAS_COMMON_SRC
-       src/gras/gras.c
-       src/gras/Transport/transport.c
-       src/gras/Transport/transport_private.h
-       src/gras/Transport/transport_plugin_file.c
-       src/gras/Msg/gras_msg_mod.c
-       src/gras/Msg/gras_msg_types.c
-       src/gras/Msg/gras_msg_exchange.c
-       src/gras/Msg/gras_msg_listener.c
-       src/gras/Msg/rpc.c 
-       src/gras/Msg/timer.c
-       src/gras/Msg/msg_interface.h
-       src/gras/Msg/msg_private.h
-       src/gras/Virtu/process.c
-       src/gras/Virtu/gras_module.c
+  src/gras/gras.c
+  src/gras/Transport/transport.c
+  src/gras/Transport/transport_private.h
+  src/gras/Transport/transport_plugin_file.c
+  src/gras/Msg/gras_msg_mod.c
+  src/gras/Msg/gras_msg_types.c
+  src/gras/Msg/gras_msg_exchange.c
+  src/gras/Msg/gras_msg_listener.c
+  src/gras/Msg/rpc.c 
+  src/gras/Msg/timer.c
+  src/gras/Msg/msg_interface.h
+  src/gras/Msg/msg_private.h
+  src/gras/Virtu/process.c
+  src/gras/Virtu/gras_module.c
 )
 
 set(GRAS_SG_SRC
-       src/gras/Transport/sg_transport.c
-       src/gras/Transport/transport_plugin_sg.c
-       src/gras/Virtu/sg_emul.c
-       src/gras/Virtu/sg_process.c
-       src/gras/Virtu/sg_dns.c
-       src/gras/Msg/sg_msg.c
-       ${XBT_SG_SRC}
+  src/gras/Transport/sg_transport.c
+  src/gras/Transport/transport_plugin_sg.c
+  src/gras/Virtu/sg_emul.c
+  src/gras/Virtu/sg_process.c
+  src/gras/Virtu/sg_dns.c
+  src/gras/Msg/sg_msg.c
+  ${XBT_SG_SRC}
 )
 
 set(AMOK_SRC
-       src/amok/amok_base.c
-       src/amok/Bandwidth/bandwidth.c
-       src/amok/Bandwidth/saturate.c
-       src/amok/PeerManagement/peermanagement.c
+  src/amok/amok_base.c
+  src/amok/Bandwidth/bandwidth.c
+  src/amok/Bandwidth/saturate.c
+  src/amok/PeerManagement/peermanagement.c
 )
 
 set(BINDINGS_SRC
-       src/bindings/bindings_global.c
+  src/bindings/bindings_global.c
 )
 
 set(LUA_SRC
@@ -354,342 +354,296 @@ set(BINDINGS_FILES
 )
 
 set(TRACING_SRC
-       src/instr/instr_routing.c
-       src/instr/instr_config.c
-       src/instr/instr_interface.c
-       src/instr/instr_paje_trace.c
-       src/instr/instr_paje_types.c
-       src/instr/instr_paje_values.c
-       src/instr/instr_paje_containers.c
-       src/instr/instr_msg_task.c
-       src/instr/instr_msg_process.c
-       src/instr/instr_surf.c
-       src/instr/instr_smpi.c
-       src/instr/instr_resource_utilization.c
-       src/instr/instr_private.h
+  src/instr/instr_routing.c
+  src/instr/instr_config.c
+  src/instr/instr_interface.c
+  src/instr/instr_paje_trace.c
+  src/instr/instr_paje_types.c
+  src/instr/instr_paje_values.c
+  src/instr/instr_paje_containers.c
+  src/instr/instr_msg_task.c
+  src/instr/instr_msg_process.c
+  src/instr/instr_surf.c
+  src/instr/instr_smpi.c
+  src/instr/instr_resource_utilization.c
+  src/instr/instr_private.h
 )
 
 
 set(JEDULE_SRC
-       include/instr/jedule/jedule_events.h
-       include/instr/jedule/jedule_output.h
-       include/instr/jedule/jedule_platform.h
-       include/instr/jedule/jedule_sd_binding.h
-       src/instr/jedule/jedule_events.c
-       src/instr/jedule/jedule_output.c
-       src/instr/jedule/jedule_platform.c
-       src/instr/jedule/jedule_sd_binding.c
+  include/instr/jedule/jedule_events.h
+  include/instr/jedule/jedule_output.h
+  include/instr/jedule/jedule_platform.h
+  include/instr/jedule/jedule_sd_binding.h
+  src/instr/jedule/jedule_events.c
+  src/instr/jedule/jedule_output.c
+  src/instr/jedule/jedule_platform.c
+  src/instr/jedule/jedule_sd_binding.c
 )
 
 set(MC_SRC
-       src/mc/mc_memory.c
-       src/mc/mc_checkpoint.c
-       src/mc/mc_state.c
-       src/mc/memory_map.c
-       src/mc/mc_global.c
-       src/mc/mc_dpor.c
-       src/mc/mc_request.c
-       src/mc/mc_private.h
-       src/mc/mc_liveness.c
+  src/mc/mc_memory.c
+  src/mc/mc_checkpoint.c
+  src/mc/mc_state.c
+  src/mc/memory_map.c
+  src/mc/mc_global.c
+  src/mc/mc_dpor.c
+  src/mc/mc_request.c
+  src/mc/mc_private.h
+  src/mc/mc_liveness.c
 )
 
 set(headers_to_install
-       include/xbt/misc.h
-       include/xbt/sysdep.h
-       include/xbt/virtu.h
-       include/xbt/str.h
-       include/xbt/strbuff.h
-       include/xbt/hash.h
-       include/xbt/function_types.h
-       include/xbt/asserts.h 
-       include/xbt/automaton.h
-       include/xbt/automatonparse_promela.h
-       include/xbt/ex.h
-       include/xbt/log.h
-       include/xbt/module.h
-       include/xbt/mallocator.h
-       include/xbt/dynar.h
-       include/xbt/dict.h
-       include/xbt/set.h
-       include/xbt/heap.h
-       include/xbt/graph.h
-       include/xbt/fifo.h
-       include/xbt/swag.h
-       include/xbt/lib.h
-       include/xbt/matrix.h
-       include/xbt/peer.h
-       include/xbt/config.h
-       include/xbt/cunit.h
-       include/xbt/graphxml_parse.h
-       include/xbt/graphxml.h
-       include/xbt/time.h
-       include/xbt/synchro.h
-       include/xbt/synchro_core.h
-       include/xbt/queue.h
-       include/xbt/setset.h
-       include/xbt/mmalloc.h
-       include/xbt/replay.h
-       include/xbt/parmap.h
-       include/xbt/datadesc.h
-       include/xbt/socket.h
-       include/xbt/file_stat.h
-       include/xbt/xbt_os_thread.h
-    include/xbt/RngStream.h
-       include/simgrid/platf.h
-       include/simgrid/modelchecker.h
-       include/simgrid/simix.h
-       include/msg/msg.h
-       include/msg/datatypes.h
-       include/simdag/simdag.h
-       include/simdag/datatypes.h
-       include/smpi/smpi.h
-       include/smpi/mpi.h
-       include/smpi/mpif.h
-       include/smpi/smpi_cocci.h
-       include/surf/surfxml_parse.h
-       include/surf/simgrid_dtd.h
-       include/surf/surf_routing.h
-       include/gras/transport.h
-       include/gras/virtu.h
-       include/gras/emul.h
-       include/gras/process.h
-       include/gras/module.h
-       include/gras/messages.h
-       include/gras/timer.h
-       include/amok/peermanagement.h
-       include/amok/bandwidth.h
-       include/instr/instr.h
-       include/gras.h 
-       include/xbt.h
+  include/xbt/misc.h
+  include/xbt/sysdep.h
+  include/xbt/virtu.h
+  include/xbt/str.h
+  include/xbt/strbuff.h
+  include/xbt/hash.h
+  include/xbt/function_types.h
+  include/xbt/asserts.h 
+  include/xbt/automaton.h
+  include/xbt/automatonparse_promela.h
+  include/xbt/ex.h
+  include/xbt/log.h
+  include/xbt/module.h
+  include/xbt/mallocator.h
+  include/xbt/dynar.h
+  include/xbt/dict.h
+  include/xbt/set.h
+  include/xbt/heap.h
+  include/xbt/graph.h
+  include/xbt/fifo.h
+  include/xbt/swag.h
+  include/xbt/lib.h
+  include/xbt/matrix.h
+  include/xbt/peer.h
+  include/xbt/config.h
+  include/xbt/cunit.h
+  include/xbt/graphxml_parse.h
+  include/xbt/graphxml.h
+  include/xbt/time.h
+  include/xbt/synchro.h
+  include/xbt/synchro_core.h
+  include/xbt/queue.h
+  include/xbt/setset.h
+  include/xbt/mmalloc.h
+  include/xbt/replay.h
+  include/xbt/parmap.h
+  include/xbt/datadesc.h
+  include/xbt/socket.h
+  include/xbt/file_stat.h
+  include/xbt/xbt_os_thread.h
+  include/xbt/RngStream.h
+  include/simgrid/platf.h
+  include/simgrid/modelchecker.h
+  include/simgrid/simix.h
+  include/msg/msg.h
+  include/msg/datatypes.h
+  include/simdag/simdag.h
+  include/simdag/datatypes.h
+  include/smpi/smpi.h
+  include/smpi/mpi.h
+  include/smpi/mpif.h
+  include/smpi/smpi_cocci.h
+  include/surf/surfxml_parse.h
+  include/surf/simgrid_dtd.h
+  include/surf/surf_routing.h
+  include/gras/transport.h
+  include/gras/virtu.h
+  include/gras/emul.h
+  include/gras/process.h
+  include/gras/module.h
+  include/gras/messages.h
+  include/gras/timer.h
+  include/amok/peermanagement.h
+  include/amok/bandwidth.h
+  include/instr/instr.h
+  include/gras.h 
+  include/xbt.h
 )
 set(source_of_generated_headers
-       include/simgrid_config.h.in
-       include/smpi/smpif.h.in
-       src/context_sysv_config.h.in)
+  include/simgrid_config.h.in
+  include/smpi/smpif.h.in
+  src/context_sysv_config.h.in)
 
 ### depend of some variables setted upper
 # -->CONTEXT_THREADS CONTEXT_UCONTEXT
 if(${CONTEXT_THREADS}) #pthread
-       set(SURF_SRC
-               ${SURF_SRC}
-               src/xbt/xbt_os_thread.c
-               src/simix/smx_context_thread.c
-               )
+  set(SURF_SRC
+    ${SURF_SRC}
+    src/xbt/xbt_os_thread.c
+    src/simix/smx_context_thread.c
+    )
 else(${CONTEXT_THREADS}) # NOT pthread
-       set(EXTRA_DIST
-               ${EXTRA_DIST}
-               src/xbt/xbt_os_thread.c
-               src/simix/smx_context_thread.c
-               )
+  set(EXTRA_DIST
+    ${EXTRA_DIST}
+    src/xbt/xbt_os_thread.c
+    src/simix/smx_context_thread.c
+    )
 endif(${CONTEXT_THREADS})
 
 if(${CONTEXT_UCONTEXT}) #ucontext
-       set(SURF_SRC
-               ${SURF_SRC}
-               src/simix/smx_context_sysv.c
-       )
+  set(SURF_SRC
+    ${SURF_SRC}
+    src/simix/smx_context_sysv.c
+  )
 else(${CONTEXT_UCONTEXT}) # NOT ucontext
-       set(EXTRA_DIST
-               ${EXTRA_DIST}
-               src/simix/smx_context_sysv.c
-       )
+  set(EXTRA_DIST
+    ${EXTRA_DIST}
+    src/simix/smx_context_sysv.c
+  )
 endif(${CONTEXT_UCONTEXT})
 
 # -->HAVE_GTNETS
 if(HAVE_GTNETS)
-       set(GTNETS_USED 
-               ${GTNETS_SRC}
-       )
+  set(GTNETS_USED 
+    ${GTNETS_SRC}
+  )
 else(HAVE_GTNETS)
-       set(GTNETS_USED "")
-       set(EXTRA_DIST
-               ${EXTRA_DIST}
-               ${GTNETS_SRC}
-       )
+  set(GTNETS_USED "")
+  set(EXTRA_DIST
+    ${EXTRA_DIST}
+    ${GTNETS_SRC}
+  )
 endif(HAVE_GTNETS)
 
 ### Simgrid Lib sources
 set(simgrid_sources
-       ${XBT_SRC}
-       ${SURF_SRC}
-       ${GTNETS_USED}
-       ${SIMIX_SRC}
-       ${MSG_SRC}
-       ${TRACING_SRC}
-       ${SIMDAG_SRC}
-       ${GRAS_COMMON_SRC}
-       ${GRAS_SG_SRC}
-       ${AMOK_SRC}
-       ${BINDINGS_SRC}
-       ${JEDULE_SRC}
+  ${XBT_SRC}
+  ${SURF_SRC}
+  ${GTNETS_USED}
+  ${SIMIX_SRC}
+  ${MSG_SRC}
+  ${TRACING_SRC}
+  ${SIMDAG_SRC}
+  ${GRAS_COMMON_SRC}
+  ${GRAS_SG_SRC}
+  ${AMOK_SRC}
+  ${BINDINGS_SRC}
+  ${JEDULE_SRC}
 )
 
 if(HAVE_MC)
-       set(simgrid_sources
-               ${simgrid_sources}
-               ${MC_SRC}
-               )
+  set(simgrid_sources
+    ${simgrid_sources}
+    ${MC_SRC}
+    )
 endif(HAVE_MC)
 
 if(HAVE_NS3)
-       set(simgrid_sources
-               ${simgrid_sources}
-               ${NS3_SRC}
-       )
+  set(simgrid_sources
+    ${simgrid_sources}
+    ${NS3_SRC}
+  )
 endif(HAVE_NS3)
 
 # WINDOWS
 if(WIN32)
-       set(simgrid_sources
-               ${simgrid_sources}
-               src/xbt/win32_ucontext.c
-               src/xbt/xbt_os_thread.c
-               src/simix/smx_context_thread.c
-               )
+  set(simgrid_sources
+    ${simgrid_sources}
+    src/xbt/win32_ucontext.c
+    src/xbt/xbt_os_thread.c
+    src/simix/smx_context_thread.c
+  )
 endif(WIN32)
 
 ### Gras Lib sources
 set(gras_sources
-       ${XBT_SRC}
-       ${GRAS_COMMON_SRC}
-       ${GRAS_RL_SRC}
-       ${AMOK_SRC}
+  ${XBT_SRC}
+  ${GRAS_COMMON_SRC}
+  ${GRAS_RL_SRC}
+  ${AMOK_SRC}
 )
 
 if(${HAVE_LUA})
-       set(simgrid_sources
-               ${simgrid_sources}
-               ${LUA_SRC}
-       )
-elseif(${HAVE_LUA})
-       set(EXTRA_DIST
-               ${EXTRA_DIST}
-               ${LUA_SRC}
-       )
+  set(simgrid_sources
+    ${simgrid_sources}
+    ${LUA_SRC}
+  )
+else(${HAVE_LUA})
+  set(EXTRA_DIST
+    ${EXTRA_DIST}
+    ${LUA_SRC}
+  )
 endif(${HAVE_LUA})
 
 set(DOC_SOURCES
-       doc/index.doc
-       doc/Doxyfile.in
+  doc/index.doc
+  doc/FAQ.doc
+  doc/Doxyfile.in
+  doc/webcruft/awstats_logo3.png
+  doc/webcruft/Paje_MSG_screenshot.jpg
+  doc/webcruft/Paje_MSG_screenshot_thn.jpg
+  doc/webcruft/poster_thumbnail.png
+  doc/webcruft/simgrid_logo_2011.png
+  doc/webcruft/simgrid_logo_2011_small.png
+  doc/triva-graph_configuration.png
+  doc/triva-graph_visualization.png
+  doc/simgrid.css
+  doc/shared/doxygen/gras-examples.doc
+  doc/shared/doxygen/msg-examples.doc
+  tools/doxygen/index_create.pl
+  tools/doxygen/fig2dev_postprocessor.pl
+  tools/doxygen/xbt_log_extract_hierarchy.pl
 )
-   
+
 set(USER_GUIDE_SOURCES
-       doc/user_guide/doxygen/install.doc
-       doc/user_guide/doxygen/bindings.doc
-       doc/user_guide/doxygen/options.doc
-       doc/user_guide/doxygen/use.doc
-       doc/user_guide/doxygen/tracing.doc
-       doc/user_guide/doxygen/pls.doc          
-       doc/user_guide/doxygen/index.doc
-       ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/logcategories.doc        
-       doc/user_guide/doxygen/modules.doc
-       
-       doc/user_guide/doxygen/gtut-files/01-bones.c
-       doc/user_guide/doxygen/gtut-files/01-bones.output
-       doc/user_guide/doxygen/gtut-files/02-simple.c
-       doc/user_guide/doxygen/gtut-files/02-simple.output
-       doc/user_guide/doxygen/gtut-files/03-args.c
-       doc/user_guide/doxygen/gtut-files/03-args.output
-       doc/user_guide/doxygen/gtut-files/03-args.xml
-       doc/user_guide/doxygen/gtut-files/04-callback.c
-       doc/user_guide/doxygen/gtut-files/04-callback.output
-       doc/user_guide/doxygen/gtut-files/05-globals.c
-       doc/user_guide/doxygen/gtut-files/05-globals.output
-       doc/user_guide/doxygen/gtut-files/06-logs.c
-       doc/user_guide/doxygen/gtut-files/06-logs.output
-       doc/user_guide/doxygen/gtut-files/06-logs.output.error
-       doc/user_guide/doxygen/gtut-files/06-logs.output.fmt
-       doc/user_guide/doxygen/gtut-files/06-logs.output.fmt-bt
-       doc/user_guide/doxygen/gtut-files/06-logs.output.verbose
-       doc/user_guide/doxygen/gtut-files/07-timers.c
-       doc/user_guide/doxygen/gtut-files/07-timers.output
-       doc/user_guide/doxygen/gtut-files/08-exceptions.c
-       doc/user_guide/doxygen/gtut-files/08-exceptions.output
-       doc/user_guide/doxygen/gtut-files/09-datatype-dump.c
-       doc/user_guide/doxygen/gtut-files/09-simpledata.c
-       doc/user_guide/doxygen/gtut-files/09-simpledata.output
-       doc/user_guide/doxygen/gtut-files/10-rpc.c
-       doc/user_guide/doxygen/gtut-files/10-rpc.output
-       doc/user_guide/doxygen/gtut-files/11-explicitwait.c
-       doc/user_guide/doxygen/gtut-files/11-explicitwait.output
-       doc/user_guide/doxygen/gtut-files/11-explicitwait.xml
-       doc/user_guide/doxygen/gtut-files/gtut-platform-3nodes.xml
-       doc/user_guide/doxygen/gtut-files/gtut-platform.xml
-       doc/user_guide/doxygen/gtut-files/Makefile
-       doc/user_guide/doxygen/gtut-files/README
-       doc/user_guide/doxygen/gtut-files/test.xml
-       
-       doc/webcruft/awstats_logo3.png
-       doc/webcruft/Paje_MSG_screenshot.jpg
-       doc/webcruft/Paje_MSG_screenshot_thn.jpg
-       doc/webcruft/poster_thumbnail.png
-       doc/webcruft/simgrid_logo_2011.png
-       doc/webcruft/simgrid_logo_small.png
-       doc/triva-graph_configuration.png
-       doc/triva-graph_visualization.png
-       doc/simgrid.css
-
-       doc/shared/doxygen/gras-examples.doc
-       doc/shared/doxygen/msg-examples.doc
-       
-       doc/user_guide/doxygen/UserGuideDoxyfile.in     
-       
-       tools/doxygen/index_create.pl
-       tools/doxygen/toc_create.pl
-       tools/doxygen/fig2dev_postprocessor.pl
-       tools/doxygen/xbt_log_extract_hierarchy.pl
+  doc/user_guide/doxygen/install.doc
+  doc/user_guide/doxygen/bindings.doc
+  doc/user_guide/doxygen/index-API.doc
+  doc/user_guide/doxygen/options.doc
+  doc/user_guide/doxygen/use.doc
+  doc/user_guide/doxygen/tracing.doc
+  doc/user_guide/doxygen/pls.doc    
+  doc/user_guide/doxygen/index.doc
+  doc/user_guide/doxygen/logcategories.doc  
+  doc/user_guide/doxygen/modules.doc
+  doc/user_guide/doxygen/platform.doc
+  doc/user_guide/doxygen/UserGuideDoxyfile.in
+  doc/user_guide/doxygen/UserGuideDoxygenLayout.xml  
 )
 
 set(REF_GUIDE_SOURCES
-       ${CMAKE_HOME_DIRECTORY}/doc/ref_guide/doxygen/logcategories.doc
-       doc/ref_guide/doxygen/module-amok.doc
-       doc/ref_guide/doxygen/module-gras.doc
-       doc/ref_guide/doxygen/module-msg.doc
-       doc/ref_guide/doxygen/module-sd.doc
-       doc/ref_guide/doxygen/modules.doc
-       doc/ref_guide/doxygen/module-surf.doc
-       doc/ref_guide/doxygen/module-xbt.doc
-       doc/ref_guide/doxygen/module-simix.doc
-       doc/ref_guide/doxygen/index-API.doc
-       doc/ref_guide/doxygen/main.doc
-
-               
-       doc/webcruft/awstats_logo3.png
-       doc/webcruft/Paje_MSG_screenshot.jpg
-       doc/webcruft/Paje_MSG_screenshot_thn.jpg
-       doc/webcruft/poster_thumbnail.png
-       doc/webcruft/simgrid_logo_2011.png
-       doc/webcruft/simgrid_logo_small.png
-       doc/triva-graph_configuration.png
-       doc/triva-graph_visualization.png
-       doc/simgrid.css
-       
-       doc/ref_guide/doxygen/RefGuideDoxyfile.in
-       
-       tools/doxygen/index_create.pl
-       tools/doxygen/toc_create.pl
-       tools/doxygen/fig2dev_postprocessor.pl
-        tools/doxygen/xbt_log_extract_hierarchy.pl
+  doc/ref_guide/doxygen/logcategories.doc
+  doc/ref_guide/doxygen/module-amok.doc
+  doc/ref_guide/doxygen/module-gras.doc
+  doc/ref_guide/doxygen/module-msg.doc
+  doc/ref_guide/doxygen/module-sd.doc
+  doc/ref_guide/doxygen/modules.doc
+  doc/ref_guide/doxygen/module-surf.doc
+  doc/ref_guide/doxygen/module-xbt.doc
+  doc/ref_guide/doxygen/module-simix.doc
+  doc/ref_guide/doxygen/module-trace.doc
+  doc/ref_guide/doxygen/index-API.doc
+  doc/ref_guide/doxygen/main.doc
+  doc/ref_guide/doxygen/RefGuideDoxyfile.in
+  doc/ref_guide/doxygen/RefGuideDoxygenLayout.xml
+)
+
+set(SHARED_SOURCES
+  doc/shared/doxygen/gras-examples.doc
+  doc/shared/doxygen/msg-examples.doc
 )
 
 set(DOC_FIGS
-       ${CMAKE_HOME_DIRECTORY}/doc/shared/fig/simgrid_modules.fig
-       ${CMAKE_HOME_DIRECTORY}/doc/shared/fig/simgrid_modules2.fig
-       ${CMAKE_HOME_DIRECTORY}/doc/user_guide/fig/amok_bw_test.fig
-       ${CMAKE_HOME_DIRECTORY}/doc/user_guide/fig/amok_bw_sat.fig
-       ${CMAKE_HOME_DIRECTORY}/doc/user_guide/fig/gras_comm.fig
+  ${CMAKE_HOME_DIRECTORY}/doc/shared/fig/simgrid_modules.fig
+  ${CMAKE_HOME_DIRECTORY}/doc/shared/fig/simgrid_modules2.fig
+  ${CMAKE_HOME_DIRECTORY}/doc/user_guide/fig/amok_bw_test.fig
+  ${CMAKE_HOME_DIRECTORY}/doc/user_guide/fig/amok_bw_sat.fig
+  ${CMAKE_HOME_DIRECTORY}/doc/user_guide/fig/gras_comm.fig
 )
 
 set(bin_files
-       ${bin_files}
-       src/smpi/smpicc.in
-       src/smpi/smpif2c.in
-       src/smpi/smpiff.in
-       src/smpi/smpirun.in
+  ${bin_files}
+  src/smpi/smpicc.in
+  src/smpi/smpif2c.in
+  src/smpi/smpiff.in
+  src/smpi/smpirun.in
 )
 
 set(txt_files
-${txt_files}
+  ${txt_files}
   "testsuite/surf/trace_A_failure.txt"
   "testsuite/surf/trace_A.txt"
   "testsuite/surf/trace_B.txt"
@@ -704,187 +658,187 @@ ${txt_files}
 )
 
 set(EXAMPLES_CMAKEFILES_TXT
-examples/smpi/CMakeLists.txt
-examples/amok/saturate/CMakeLists.txt
-examples/amok/bandwidth/CMakeLists.txt
-examples/simdag/dot/CMakeLists.txt
-examples/simdag/goal/CMakeLists.txt
-examples/simdag/properties/CMakeLists.txt
-examples/simdag/scheduling/CMakeLists.txt
-examples/simdag/metaxml/CMakeLists.txt
-examples/simdag/dax/CMakeLists.txt
-examples/simdag/CMakeLists.txt
-examples/msg/gpu/CMakeLists.txt
-examples/msg/pmm/CMakeLists.txt
-examples/msg/migration/CMakeLists.txt
-examples/msg/properties/CMakeLists.txt
-examples/msg/mc/CMakeLists.txt
-examples/msg/masterslave/CMakeLists.txt
-examples/msg/chord/CMakeLists.txt
-examples/msg/suspend/CMakeLists.txt
-examples/msg/actions/CMakeLists.txt
-examples/msg/io/CMakeLists.txt
-examples/msg/sendrecv/CMakeLists.txt
-examples/msg/start_kill_time/CMakeLists.txt
-examples/msg/parallel_task/CMakeLists.txt
-examples/msg/priority/CMakeLists.txt
-examples/msg/cloud/CMakeLists.txt
-examples/msg/gtnets/CMakeLists.txt
-examples/msg/icomms/CMakeLists.txt
-examples/msg/tracing/CMakeLists.txt
-examples/msg/ns3/CMakeLists.txt
-examples/msg/token_ring/CMakeLists.txt
-examples/gras/mutual_exclusion/simple_token/CMakeLists.txt
-examples/gras/ping/CMakeLists.txt
-examples/gras/pmm/CMakeLists.txt
-examples/gras/properties/CMakeLists.txt
-examples/gras/rpc/CMakeLists.txt
-examples/gras/chrono/CMakeLists.txt
-examples/gras/timer/CMakeLists.txt
-examples/gras/mmrpc/CMakeLists.txt
-examples/gras/all2all/CMakeLists.txt
-examples/gras/synchro/CMakeLists.txt
-examples/gras/console/CMakeLists.txt
-examples/gras/spawn/CMakeLists.txt
-examples/lua/CMakeLists.txt
-examples/msg/CMakeLists.txt
-examples/xbt/CMakeLists.txt
+  examples/smpi/CMakeLists.txt
+  examples/amok/saturate/CMakeLists.txt
+  examples/amok/bandwidth/CMakeLists.txt
+  examples/simdag/dot/CMakeLists.txt
+  examples/simdag/goal/CMakeLists.txt
+  examples/simdag/properties/CMakeLists.txt
+  examples/simdag/scheduling/CMakeLists.txt
+  examples/simdag/metaxml/CMakeLists.txt
+  examples/simdag/dax/CMakeLists.txt
+  examples/simdag/CMakeLists.txt
+  examples/msg/gpu/CMakeLists.txt
+  examples/msg/pmm/CMakeLists.txt
+  examples/msg/migration/CMakeLists.txt
+  examples/msg/properties/CMakeLists.txt
+  examples/msg/mc/CMakeLists.txt
+  examples/msg/masterslave/CMakeLists.txt
+  examples/msg/chord/CMakeLists.txt
+  examples/msg/suspend/CMakeLists.txt
+  examples/msg/actions/CMakeLists.txt
+  examples/msg/io/CMakeLists.txt
+  examples/msg/sendrecv/CMakeLists.txt
+  examples/msg/start_kill_time/CMakeLists.txt
+  examples/msg/parallel_task/CMakeLists.txt
+  examples/msg/priority/CMakeLists.txt
+  examples/msg/cloud/CMakeLists.txt
+  examples/msg/gtnets/CMakeLists.txt
+  examples/msg/icomms/CMakeLists.txt
+  examples/msg/tracing/CMakeLists.txt
+  examples/msg/ns3/CMakeLists.txt
+  examples/msg/token_ring/CMakeLists.txt
+  examples/gras/mutual_exclusion/simple_token/CMakeLists.txt
+  examples/gras/ping/CMakeLists.txt
+  examples/gras/pmm/CMakeLists.txt
+  examples/gras/properties/CMakeLists.txt
+  examples/gras/rpc/CMakeLists.txt
+  examples/gras/chrono/CMakeLists.txt
+  examples/gras/timer/CMakeLists.txt
+  examples/gras/mmrpc/CMakeLists.txt
+  examples/gras/all2all/CMakeLists.txt
+  examples/gras/synchro/CMakeLists.txt
+  examples/gras/console/CMakeLists.txt
+  examples/gras/spawn/CMakeLists.txt
+  examples/lua/CMakeLists.txt
+  examples/msg/CMakeLists.txt
+  examples/xbt/CMakeLists.txt
 )
 
 set(TESHSUITE_CMAKEFILES_TXT
-teshsuite/xbt/CMakeLists.txt
-teshsuite/simdag/network/p2p/CMakeLists.txt
-teshsuite/simdag/network/mxn/CMakeLists.txt
-teshsuite/simdag/network/CMakeLists.txt
-teshsuite/simdag/platforms/CMakeLists.txt
-teshsuite/simdag/partask/CMakeLists.txt
-teshsuite/simdag/CMakeLists.txt
-teshsuite/msg/trace/CMakeLists.txt
-teshsuite/msg/CMakeLists.txt
-teshsuite/gras/small_sleep/CMakeLists.txt
-teshsuite/gras/empty_main/CMakeLists.txt
-teshsuite/gras/msg_handle/CMakeLists.txt
-teshsuite/gras/datadesc/CMakeLists.txt
-teshsuite/CMakeLists.txt
-teshsuite/gras/CMakeLists.txt
+  teshsuite/xbt/CMakeLists.txt
+  teshsuite/simdag/network/p2p/CMakeLists.txt
+  teshsuite/simdag/network/mxn/CMakeLists.txt
+  teshsuite/simdag/network/CMakeLists.txt
+  teshsuite/simdag/platforms/CMakeLists.txt
+  teshsuite/simdag/partask/CMakeLists.txt
+  teshsuite/simdag/CMakeLists.txt
+  teshsuite/msg/trace/CMakeLists.txt
+  teshsuite/msg/CMakeLists.txt
+  teshsuite/gras/small_sleep/CMakeLists.txt
+  teshsuite/gras/empty_main/CMakeLists.txt
+  teshsuite/gras/msg_handle/CMakeLists.txt
+  teshsuite/gras/datadesc/CMakeLists.txt
+  teshsuite/CMakeLists.txt
+  teshsuite/gras/CMakeLists.txt
 )
 
 set(TOOLS_CMAKEFILES_TXT
-tools/tesh/CMakeLists.txt
-tools/graphicator/CMakeLists.txt
-tools/CMakeLists.txt
-tools/gras/CMakeLists.txt
+  tools/tesh/CMakeLists.txt
+  tools/graphicator/CMakeLists.txt
+  tools/CMakeLists.txt
+  tools/gras/CMakeLists.txt
 )
 
 set(TESTSUITE_CMAKEFILES_TXT
-testsuite/surf/CMakeLists.txt
-testsuite/xbt/CMakeLists.txt
+  testsuite/surf/CMakeLists.txt
+  testsuite/xbt/CMakeLists.txt
 )
 
 set(CMAKE_SOURCE_FILES
-buildtools/Cmake/CTestConfig.cmake
-buildtools/Cmake/UnitTesting.cmake
-buildtools/Cmake/AddTests.cmake
-buildtools/Cmake/Option.cmake
-buildtools/Cmake/memcheck_tests.cmake
-buildtools/Cmake/MakeLibWin.cmake
-buildtools/Cmake/Flags.cmake
-buildtools/Cmake/DefinePackages.cmake
-buildtools/Cmake/CompleteInFiles.cmake
-buildtools/Cmake/Scripts/SimGrid.packproj
-buildtools/Cmake/Scripts/update_tesh.pl
-buildtools/Cmake/Scripts/test_java.sh
-buildtools/Cmake/Scripts/my_valgrind.pl
-buildtools/Cmake/Scripts/tesh.pl
-buildtools/Cmake/Scripts/Makefile.default
-buildtools/Cmake/Scripts/preinstall.sh
-buildtools/Cmake/Scripts/Diff.pm
-buildtools/Cmake/Scripts/generate_new_tests.pl
-buildtools/Cmake/Scripts/postinstall.sh
-buildtools/Cmake/Scripts/generate_memcheck_tests.pl
-buildtools/Cmake/MaintainerMode.cmake
-buildtools/Cmake/Supernovae.cmake
-buildtools/Cmake/Pipol.cmake
-buildtools/Cmake/GenerateUserGuide.cmake
-buildtools/Cmake/GenerateRefGuide.cmake
-buildtools/Cmake/test_prog/prog_getline.c
-buildtools/Cmake/test_prog/prog_mutex_timedlock.c
-buildtools/Cmake/test_prog/prog_GRAS_ARCH.c
-buildtools/Cmake/test_prog/prog_printf_null.c
-buildtools/Cmake/test_prog/prog_sem_timedwait.c
-buildtools/Cmake/test_prog/prog_va_copy.c
-buildtools/Cmake/test_prog/prog_thread_storage.c
-buildtools/Cmake/test_prog/prog_AC_CHECK_MCSC.c
-buildtools/Cmake/test_prog/prog_stacksetup.c
-buildtools/Cmake/test_prog/prog_snprintf.c
-buildtools/Cmake/test_prog/prog_GRAS_CHECK_STRUCT_COMPACTION.c
-buildtools/Cmake/test_prog/prog_sem_init.c
-buildtools/Cmake/test_prog/prog_sem_open.c
-buildtools/Cmake/test_prog/prog_stackgrowth.c
-buildtools/Cmake/test_prog/prog_max_size.c
-buildtools/Cmake/test_prog/prog_vsnprintf.c
-buildtools/Cmake/Modules/FindRubySimgrid.cmake
-buildtools/Cmake/Modules/FindF2c.cmake
-buildtools/Cmake/Modules/FindPCRE.cmake
-buildtools/Cmake/Modules/FindPcreWin.cmake
-buildtools/Cmake/Modules/FindGTnets.cmake
-buildtools/Cmake/Modules/FindNS3.cmake
-buildtools/Cmake/Modules/FindSimGrid.cmake
-buildtools/Cmake/Modules/FindLua51Simgrid.cmake
-buildtools/Cmake/Modules/FindGraphviz.cmake
-buildtools/Cmake/Modules/FindValgrind.cmake
-buildtools/Cmake/Modules/FindRngStream.cmake
-buildtools/Cmake/GenerateDocWin.cmake
-buildtools/Cmake/MakeExe.cmake
-buildtools/Cmake/PrintArgs.cmake
-buildtools/Cmake/MakeLib.cmake
-buildtools/Cmake/Distrib.cmake
-buildtools/Cmake/src/gras_config.h.in
-buildtools/Cmake/src/simgrid.nsi.in
-CMakeLists.txt
+  buildtools/Cmake/CTestConfig.cmake
+  buildtools/Cmake/UnitTesting.cmake
+  buildtools/Cmake/AddTests.cmake
+  buildtools/Cmake/Option.cmake
+  buildtools/Cmake/memcheck_tests.cmake
+  buildtools/Cmake/MakeLibWin.cmake
+  buildtools/Cmake/Flags.cmake
+  buildtools/Cmake/DefinePackages.cmake
+  buildtools/Cmake/CompleteInFiles.cmake
+  buildtools/Cmake/Scripts/SimGrid.packproj
+  buildtools/Cmake/Scripts/update_tesh.pl
+  buildtools/Cmake/Scripts/test_java.sh
+  buildtools/Cmake/Scripts/my_valgrind.pl
+  buildtools/Cmake/Scripts/tesh.pl
+  buildtools/Cmake/Scripts/Makefile.default
+  buildtools/Cmake/Scripts/preinstall.sh
+  buildtools/Cmake/Scripts/Diff.pm
+  buildtools/Cmake/Scripts/generate_new_tests.pl
+  buildtools/Cmake/Scripts/postinstall.sh
+  buildtools/Cmake/Scripts/generate_memcheck_tests.pl
+  buildtools/Cmake/MaintainerMode.cmake
+  buildtools/Cmake/Supernovae.cmake
+  buildtools/Cmake/Pipol.cmake
+  buildtools/Cmake/GenerateUserGuide.cmake
+  buildtools/Cmake/GenerateRefGuide.cmake
+  buildtools/Cmake/test_prog/prog_getline.c
+  buildtools/Cmake/test_prog/prog_mutex_timedlock.c
+  buildtools/Cmake/test_prog/prog_GRAS_ARCH.c
+  buildtools/Cmake/test_prog/prog_printf_null.c
+  buildtools/Cmake/test_prog/prog_sem_timedwait.c
+  buildtools/Cmake/test_prog/prog_va_copy.c
+  buildtools/Cmake/test_prog/prog_thread_storage.c
+  buildtools/Cmake/test_prog/prog_AC_CHECK_MCSC.c
+  buildtools/Cmake/test_prog/prog_stacksetup.c
+  buildtools/Cmake/test_prog/prog_snprintf.c
+  buildtools/Cmake/test_prog/prog_GRAS_CHECK_STRUCT_COMPACTION.c
+  buildtools/Cmake/test_prog/prog_sem_init.c
+  buildtools/Cmake/test_prog/prog_sem_open.c
+  buildtools/Cmake/test_prog/prog_stackgrowth.c
+  buildtools/Cmake/test_prog/prog_max_size.c
+  buildtools/Cmake/test_prog/prog_vsnprintf.c
+  buildtools/Cmake/Modules/FindRubySimgrid.cmake
+  buildtools/Cmake/Modules/FindF2c.cmake
+  buildtools/Cmake/Modules/FindPCRE.cmake
+  buildtools/Cmake/Modules/FindPcreWin.cmake
+  buildtools/Cmake/Modules/FindGTnets.cmake
+  buildtools/Cmake/Modules/FindNS3.cmake
+  buildtools/Cmake/Modules/FindSimGrid.cmake
+  buildtools/Cmake/Modules/FindLua51Simgrid.cmake
+  buildtools/Cmake/Modules/FindGraphviz.cmake
+  buildtools/Cmake/Modules/FindValgrind.cmake
+  buildtools/Cmake/Modules/FindRngStream.cmake
+  buildtools/Cmake/GenerateDocWin.cmake
+  buildtools/Cmake/MakeExe.cmake
+  buildtools/Cmake/PrintArgs.cmake
+  buildtools/Cmake/MakeLib.cmake
+  buildtools/Cmake/Distrib.cmake
+  buildtools/Cmake/src/gras_config.h.in
+  buildtools/Cmake/src/simgrid.nsi.in
+  CMakeLists.txt
 )
 
 set(PLATFORMS_EXAMPLES
-examples/platforms/bypassASroute.xml
-examples/platforms/bypassRoute.xml
-examples/platforms/cloud.xml
-examples/platforms/cluster_and_one_host.xml
-examples/platforms/cluster_no_backbone.xml
-examples/platforms/cluster_routing_rulebased.xml
-examples/platforms/clusters_routing_full.xml
-examples/platforms/cluster.xml
-examples/platforms/config.xml
-examples/platforms/data_center.xml
-examples/platforms/g5k.xml
-examples/platforms/griffon.xml
-examples/platforms/multicore_machine.xml
-examples/platforms/prop.xml
-examples/platforms/storage.xml
-examples/platforms/vivaldi.xml
-examples/platforms/conf/gridpp_grid_2004.conf
-examples/platforms/conf/gridpp_grid_2004.xml
-examples/platforms/conf/lcg_sept2004_grid.conf
-examples/platforms/conf/lcg_sept2004_grid.xml
-examples/platforms/conf/transform_optorsim_platform.pl
-examples/platforms/content/storage_content.txt
-examples/platforms/generation_scripts/create_hierarchical_clusters.pl
-examples/platforms/generation_scripts/enhancedDTDwithHierarchicalCluster.pl
-examples/platforms/generation_scripts/generate_g5k_platform_cabinets.pl
-examples/platforms/generation_scripts/generate_g5k_platform.pl
-examples/platforms/syscoord/generate_peer_platform.pl
-examples/platforms/syscoord/median_harvard.syscoord
-examples/platforms/syscoord/median_harvard.xml
-examples/platforms/syscoord/median_meridian.syscoord
-examples/platforms/syscoord/median_meridian.xml
-examples/platforms/syscoord/median_p2psim.syscoord
-examples/platforms/syscoord/median_p2psim.xml
+  examples/platforms/bypassASroute.xml
+  examples/platforms/bypassRoute.xml
+  examples/platforms/cloud.xml
+  examples/platforms/cluster_and_one_host.xml
+  examples/platforms/cluster_no_backbone.xml
+  examples/platforms/cluster_routing_rulebased.xml
+  examples/platforms/clusters_routing_full.xml
+  examples/platforms/cluster.xml
+  examples/platforms/config.xml
+  examples/platforms/data_center.xml
+  examples/platforms/g5k.xml
+  examples/platforms/griffon.xml
+  examples/platforms/multicore_machine.xml
+  examples/platforms/prop.xml
+  examples/platforms/storage.xml
+  examples/platforms/vivaldi.xml
+  examples/platforms/conf/gridpp_grid_2004.conf
+  examples/platforms/conf/gridpp_grid_2004.xml
+  examples/platforms/conf/lcg_sept2004_grid.conf
+  examples/platforms/conf/lcg_sept2004_grid.xml
+  examples/platforms/conf/transform_optorsim_platform.pl
+  examples/platforms/content/storage_content.txt
+  examples/platforms/generation_scripts/create_hierarchical_clusters.pl
+  examples/platforms/generation_scripts/enhancedDTDwithHierarchicalCluster.pl
+  examples/platforms/generation_scripts/generate_g5k_platform_cabinets.pl
+  examples/platforms/generation_scripts/generate_g5k_platform.pl
+  examples/platforms/syscoord/generate_peer_platform.pl
+  examples/platforms/syscoord/median_harvard.syscoord
+  examples/platforms/syscoord/median_harvard.xml
+  examples/platforms/syscoord/median_meridian.syscoord
+  examples/platforms/syscoord/median_meridian.xml
+  examples/platforms/syscoord/median_p2psim.syscoord
+  examples/platforms/syscoord/median_p2psim.xml
 )
 
 set(generated_src_files
-${CMAKE_HOME_DIRECTORY}/src/xbt/datadesc/ddt_parse.yy.c
-src/xbt/automaton/y.tab.c
-src/xbt/automaton/y.tab.h
-src/xbt/automaton/automaton_parse.yy.c
+  src/xbt/datadesc/ddt_parse.yy.c
+  src/xbt/automaton/y.tab.c
+  src/xbt/automaton/y.tab.h
+  src/xbt/automaton/automaton_parse.yy.c
 )
 
 foreach(file ${generated_src_files})
index b489204..472ca42 100644 (file)
@@ -219,6 +219,8 @@ set(source_to_pack
   ${TOOLS_CMAKEFILES_TXT}
   ${TESTSUITE_CMAKEFILES_TXT}
   ${DOC_SOURCES}
+  ${USER_GUIDE_SOURCES}
+  ${REF_GUIDE_SOURCES}
   ${DOC_FIGS}
   ${README_files}
   ${xml_files}
index 4005c0b..40dbb0a 100644 (file)
@@ -8,10 +8,6 @@ file(GLOB_RECURSE source_doxygen
 
 if(FIG2DEV_PATH)
 
-  set(REFDOCSSOURCES "${source_doxygen}\n${REF_GUIDE_SOURCES}")
-  string(REPLACE "\n" ";" REFDOCSSOURCES ${REFDOCSSOURCES})
-
-
   set(DOC_PNGS 
     ${CMAKE_HOME_DIRECTORY}/doc/webcruft/simgrid_logo_2011.png
     ${CMAKE_HOME_DIRECTORY}/doc/webcruft/simgrid_logo_2011_small.png
@@ -21,7 +17,7 @@ if(FIG2DEV_PATH)
   
   ADD_CUSTOM_TARGET(ref_guide
     COMMENT "Generating the SimGrid ref guide..."
-    DEPENDS ${DOC_SOURCES} ${DOC_FIGS} ${source_doxygen}
+    DEPENDS ${REF_GUIDE_SOURCES} ${DOC_FIGS} ${source_doxygen}
     COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_HOME_DIRECTORY}/doc/ref_guide/html
     COMMAND ${CMAKE_COMMAND} -E make_directory   ${CMAKE_HOME_DIRECTORY}/doc/ref_guide/html    
     WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/doc/ref_guide/
@@ -53,8 +49,8 @@ if(FIG2DEV_PATH)
   )
   
   ADD_CUSTOM_COMMAND(TARGET ref_guide
-           COMMAND ${FIG2DEV_PATH}/fig2dev -Lmap ${CMAKE_HOME_DIRECTORY}/doc/shared/fig/simgrid_modules.fig | perl -pe 's/imagemap/simgrid_modules/g'| perl -pe 's/<IMG/<IMG style=border:0px/g' | ${CMAKE_HOME_DIRECTORY}/tools/doxygen/fig2dev_postprocessor.pl > ${CMAKE_HOME_DIRECTORY}/doc/ref_guide/doxygen/simgrid_modules.map
-      COMMAND ${CMAKE_COMMAND} -E echo "XX First Doxygen pass"
+    COMMAND ${FIG2DEV_PATH}/fig2dev -Lmap ${CMAKE_HOME_DIRECTORY}/doc/shared/fig/simgrid_modules.fig | perl -pe 's/imagemap/simgrid_modules/g'| perl -pe 's/<IMG/<IMG style=border:0px/g' | ${CMAKE_HOME_DIRECTORY}/tools/doxygen/fig2dev_postprocessor.pl > ${CMAKE_HOME_DIRECTORY}/doc/ref_guide/doxygen/simgrid_modules.map
+    COMMAND ${CMAKE_COMMAND} -E echo "XX First Doxygen pass"
     COMMAND ${DOXYGEN_PATH}/doxygen RefGuideDoxyfile
     COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/index_create.pl simgridrefguide.tag index-API.doc
 
index 5bee891..1367053 100644 (file)
@@ -7,11 +7,6 @@ file(GLOB_RECURSE source_doxygen
 )
 
 if(FIG2DEV_PATH)
-
-       set(DOCSSOURCES "${source_doxygen}\n${USER_GUIDE_SOURCES}")
-       string(REPLACE "\n" ";" DOCSSOURCES ${DOCSSOURCES})
-
-
        set(DOC_PNGS 
                ${CMAKE_HOME_DIRECTORY}/doc/webcruft/simgrid_logo_2011.png
                ${CMAKE_HOME_DIRECTORY}/doc/webcruft/simgrid_logo_2011_small.png                
@@ -28,7 +23,7 @@ if(FIG2DEV_PATH)
        
        ADD_CUSTOM_TARGET(user_guide
                COMMENT "Generating the SimGrid user guide..."
-               DEPENDS ${DOC_SOURCES} ${DOC_FIGS} ${source_doxygen}
+               DEPENDS ${USER_GUIDE_SOURCES} ${DOC_FIGS} ${source_doxygen}
                COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_HOME_DIRECTORY}/doc/user_guide/html
            COMMAND ${CMAKE_COMMAND} -E make_directory   ${CMAKE_HOME_DIRECTORY}/doc/user_guide/html            
                WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen
@@ -97,120 +92,120 @@ endif(FIG2DEV_PATH)
 
 ##############################################################################"
 
-message(STATUS "Check individual TOCs")
-set(LISTE_GTUT
-       doc/user_guide/doxygen/gtut-tour-00-install.doc
-       doc/user_guide/doxygen/gtut-tour-01-bones.doc
-       doc/user_guide/doxygen/gtut-tour-02-simple.doc
-       doc/user_guide/doxygen/gtut-tour-03-args.doc
-       doc/user_guide/doxygen/gtut-tour-04-callback.doc
-       doc/user_guide/doxygen/gtut-tour-05-globals.doc
-       doc/user_guide/doxygen/gtut-tour-06-logs.doc
-       doc/user_guide/doxygen/gtut-tour-07-timers.doc
-       doc/user_guide/doxygen/gtut-tour-08-exceptions.doc
-       doc/user_guide/doxygen/gtut-tour-09-simpledata.doc
-       doc/user_guide/doxygen/gtut-tour-10-rpc.doc
-       doc/user_guide/doxygen/gtut-tour-11-explicitwait.doc
-       doc/user_guide/doxygen/gtut-tour-recap-messages.doc
-       doc/user_guide/doxygen/gtut-tour-12-staticstruct.doc
-       doc/user_guide/doxygen/gtut-tour-13-pointers.doc
-       doc/user_guide/doxygen/gtut-tour-14-dynar.doc
-       doc/user_guide/doxygen/gtut-tour-15-manualdatadef.doc
-       doc/user_guide/doxygen/gtut-tour-16-exchangecb.doc
-)
-
-foreach(file_name ${LISTE_GTUT})
-       file(REMOVE ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.curtoc)
-       file(REMOVE ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc)
-       
-       file(READ "${file_name}" file_content)
-       string(REGEX MATCH "Table of Contents.*<hr>" valeur_line "${file_content}")
-       string(REPLACE "\n" ";" valeur_line "${valeur_line}")
-       string(REPLACE "\n" ";" file_content "${file_content}")
-              
-       file(APPEND ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc "\n") # make sure it exists
-       foreach(line ${file_content})
-               string(REGEX MATCH "[\\]s?u?b?s?u?b?section.*" line2 "${line}")
-               string(REGEX MATCH ".*_toc.*" line3 "${line}")
-               if(line2 AND NOT line3)
-                       string(REPLACE "\\section " "" line2 ${line2})
-                       string(REPLACE "\\subsection " "subsection" line2 ${line2})
-                       string(REPLACE "\\subsubsection " "subsubsection" line2 ${line2})
-                       string(REGEX REPLACE " .*" "" line2 ${line2})
-                       set(line2                               " - \\ref ${line2}")
-                       string(REPLACE " - \\ref subsection"    "   - \\ref " line2 ${line2})
-                       string(REPLACE " - \\ref subsubsection" "     - \\ref " line2 ${line2})
-                       file(APPEND ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc "${line2}\n")
-               endif(line2 AND NOT line3)
-       endforeach(line ${file_content})
-       
-       file(APPEND ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.curtoc "\n") # make sure it exists
-       foreach(line ${valeur_line})
-               string(REGEX MATCH ".*ref.*" line_ok ${line})
-               if(line_ok)
-                       file(APPEND ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.curtoc "${line_ok}\n")
-               endif(line_ok)
-       endforeach(line ${valeur_line})
-       
-       exec_program("${CMAKE_COMMAND} -E compare_files ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.curtoc ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc" OUTPUT_VARIABLE compare_files)
-       if(compare_files)
-               message(STATUS "Wrong toc for ${file_name}. Should be:")
-               file(READ "${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc" file_content)
-               message("${file_content}")
-               exec_program("diff -u ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.curtoc ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc")
-        endif(compare_files)
-endforeach(file_name ${LISTE_GTUT})
-
-file(REMOVE ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.curtoc)
-file(REMOVE ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc)
-
-message(STATUS "Check main TOC")
-
-foreach(file_name ${LISTE_GTUT})
-       file(READ "${file_name}" file_content)  
-       string(REGEX MATCH "Table of Contents.*<hr>" valeur_line "${file_content}")
-       string(REPLACE "\n" ";" valeur_line "${valeur_line}")
-       string(REPLACE "\n" ";" file_content "${file_content}")
-       
-       foreach(line ${file_content})
-               string(REGEX MATCH ".*@page.*" line2 "${line}")
-               if(line2)
-                       string(REPLACE "@page " "" line2 "${line2}")
-                       string(REGEX REPLACE " .*" "" line2 "${line2}")
-                       set(line2 " - \\ref ${line2}")
-                       file(APPEND ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc "${line2}\n")
-               endif(line2)
-       endforeach(line ${file_content})
-       
-       foreach(line ${valeur_line})
-               string(REGEX MATCH ".*toc.*" line1 "${line}")
-               string(REGEX MATCH ".*<hr>.*" line2 "${line}")
-               string(REGEX MATCH "^[ ]*$" line3 "${line}")
-               string(REGEX MATCH "Table of Contents" line4 "${line}")
-               if(NOT line1 AND NOT line2 AND NOT line3 AND NOT line4)
-                       file(APPEND ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc "   ${line}\n")
-               endif(NOT line1 AND NOT line2 AND NOT line3 AND NOT line4)
-       endforeach(line ${valeur_line})
-endforeach(file_name ${LISTE_GTUT})    
-
-file(READ "${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/gtut-tour.doc" file_content)
-string(REPLACE "\n" ";" file_content "${file_content}")
-foreach(line ${file_content})
-       string(REGEX MATCH "^[ ]+.*\\ref" line1 "${line}")
-       if(line1)
-               file(APPEND ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.curtoc "${line}\n")
-       endif(line1)
-endforeach(line ${file_content})
-       
-exec_program("${CMAKE_COMMAND} -E compare_files ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.curtoc ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc" OUTPUT_VARIABLE compare_files)
-if(compare_files)
-       message(STATUS "Wrong toc for gtut-tour.doc Right one is in tmp.realtoc")
-       exec_program("diff -u ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.curtoc ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc")
-else(compare_files)
-       file(REMOVE ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc)
-endif(compare_files)   
-  
-file(REMOVE ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.curtoc)
+#message(STATUS "Check individual TOCs")
+#set(LISTE_GTUT
+#      doc/user_guide/doxygen/gtut-tour-00-install.doc
+#      doc/user_guide/doxygen/gtut-tour-01-bones.doc
+#      doc/user_guide/doxygen/gtut-tour-02-simple.doc
+#      doc/user_guide/doxygen/gtut-tour-03-args.doc
+#      doc/user_guide/doxygen/gtut-tour-04-callback.doc
+#      doc/user_guide/doxygen/gtut-tour-05-globals.doc
+#      doc/user_guide/doxygen/gtut-tour-06-logs.doc
+#      doc/user_guide/doxygen/gtut-tour-07-timers.doc
+#      doc/user_guide/doxygen/gtut-tour-08-exceptions.doc
+#      doc/user_guide/doxygen/gtut-tour-09-simpledata.doc
+#      doc/user_guide/doxygen/gtut-tour-10-rpc.doc
+#      doc/user_guide/doxygen/gtut-tour-11-explicitwait.doc
+#      doc/user_guide/doxygen/gtut-tour-recap-messages.doc
+#      doc/user_guide/doxygen/gtut-tour-12-staticstruct.doc
+#      doc/user_guide/doxygen/gtut-tour-13-pointers.doc
+#      doc/user_guide/doxygen/gtut-tour-14-dynar.doc
+#      doc/user_guide/doxygen/gtut-tour-15-manualdatadef.doc
+#      doc/user_guide/doxygen/gtut-tour-16-exchangecb.doc
+#)
+#
+#foreach(file_name ${LISTE_GTUT})
+#      file(REMOVE ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.curtoc)
+#      file(REMOVE ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc)
+#      
+#      file(READ "${file_name}" file_content)
+#      string(REGEX MATCH "Table of Contents.*<hr>" valeur_line "${file_content}")
+#      string(REPLACE "\n" ";" valeur_line "${valeur_line}")
+#      string(REPLACE "\n" ";" file_content "${file_content}")
+#             
+#      file(APPEND ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc "\n") # make sure it exists
+#      foreach(line ${file_content})
+#              string(REGEX MATCH "[\\]s?u?b?s?u?b?section.*" line2 "${line}")
+#              string(REGEX MATCH ".*_toc.*" line3 "${line}")
+#              if(line2 AND NOT line3)
+#                      string(REPLACE "\\section " "" line2 ${line2})
+#                      string(REPLACE "\\subsection " "subsection" line2 ${line2})
+#                      string(REPLACE "\\subsubsection " "subsubsection" line2 ${line2})
+#                      string(REGEX REPLACE " .*" "" line2 ${line2})
+#                      set(line2                               " - \\ref ${line2}")
+#                      string(REPLACE " - \\ref subsection"    "   - \\ref " line2 ${line2})
+#                      string(REPLACE " - \\ref subsubsection" "     - \\ref " line2 ${line2})
+#                      file(APPEND ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc "${line2}\n")
+#              endif(line2 AND NOT line3)
+#      endforeach(line ${file_content})
+#      
+#      file(APPEND ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.curtoc "\n") # make sure it exists
+#      foreach(line ${valeur_line})
+#              string(REGEX MATCH ".*ref.*" line_ok ${line})
+#              if(line_ok)
+#                      file(APPEND ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.curtoc "${line_ok}\n")
+#              endif(line_ok)
+#      endforeach(line ${valeur_line})
+#      
+#      exec_program("${CMAKE_COMMAND} -E compare_files ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.curtoc ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc" OUTPUT_VARIABLE compare_files)
+#      if(compare_files)
+#              message(STATUS "Wrong toc for ${file_name}. Should be:")
+#              file(READ "${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc" file_content)
+#              message("${file_content}")
+#              exec_program("diff -u ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.curtoc ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc")
+#        endif(compare_files)
+#endforeach(file_name ${LISTE_GTUT})
+#
+#file(REMOVE ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.curtoc)
+#file(REMOVE ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc)
+#
+#message(STATUS "Check main TOC")
+#
+#foreach(file_name ${LISTE_GTUT})
+#      file(READ "${file_name}" file_content)  
+#      string(REGEX MATCH "Table of Contents.*<hr>" valeur_line "${file_content}")
+#      string(REPLACE "\n" ";" valeur_line "${valeur_line}")
+#      string(REPLACE "\n" ";" file_content "${file_content}")
+#      
+#      foreach(line ${file_content})
+#              string(REGEX MATCH ".*@page.*" line2 "${line}")
+#              if(line2)
+#                      string(REPLACE "@page " "" line2 "${line2}")
+#                      string(REGEX REPLACE " .*" "" line2 "${line2}")
+#                      set(line2 " - \\ref ${line2}")
+#                      file(APPEND ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc "${line2}\n")
+#              endif(line2)
+#      endforeach(line ${file_content})
+#      
+#      foreach(line ${valeur_line})
+#              string(REGEX MATCH ".*toc.*" line1 "${line}")
+#              string(REGEX MATCH ".*<hr>.*" line2 "${line}")
+#              string(REGEX MATCH "^[ ]*$" line3 "${line}")
+#              string(REGEX MATCH "Table of Contents" line4 "${line}")
+#              if(NOT line1 AND NOT line2 AND NOT line3 AND NOT line4)
+#                      file(APPEND ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc "   ${line}\n")
+#              endif(NOT line1 AND NOT line2 AND NOT line3 AND NOT line4)
+#      endforeach(line ${valeur_line})
+#endforeach(file_name ${LISTE_GTUT})   
+#
+#file(READ "${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/gtut-tour.doc" file_content)
+#string(REPLACE "\n" ";" file_content "${file_content}")
+#foreach(line ${file_content})
+#      string(REGEX MATCH "^[ ]+.*\\ref" line1 "${line}")
+#      if(line1)
+#              file(APPEND ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.curtoc "${line}\n")
+#      endif(line1)
+#endforeach(line ${file_content})
+#      
+#exec_program("${CMAKE_COMMAND} -E compare_files ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.curtoc ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc" OUTPUT_VARIABLE compare_files)
+#if(compare_files)
+#      message(STATUS "Wrong toc for gtut-tour.doc Right one is in tmp.realtoc")
+#      exec_program("diff -u ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.curtoc ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc")
+#else(compare_files)
+#      file(REMOVE ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.realtoc)
+#endif(compare_files)  
+#  
+#file(REMOVE ${CMAKE_HOME_DIRECTORY}/doc/user_guide/doxygen/tmp.curtoc)
 
 ADD_CUSTOM_TARGET(user_guide_pdf
     COMMAND ${CMAKE_COMMAND} -E echo "XX First pass simgrid_user_guide.pdf"
index cab5267..d6e5e13 100644 (file)
@@ -658,7 +658,8 @@ WARN_LOGFILE           =
 # directories like "/usr/src/myproject". Separate the files or directories
 # with spaces.
 
-INPUT                  = index.doc 
+INPUT                  = index.doc \
+                         FAQ.doc
                          
 # This tag can be used to specify the character encoding of the source files
 # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
similarity index 100%
rename from doc/user_guide/doxygen/FAQ.doc
rename to doc/FAQ.doc
index d85cb15..ff35999 100644 (file)
@@ -658,16 +658,15 @@ WARN_LOGFILE           =
 # directories like "/usr/src/myproject". Separate the files or directories
 # with spaces.
 
-INPUT                  = index.doc \                                                  
-                        install.doc \
-                        use.doc \                               
+INPUT                  = index.doc \
+                         install.doc \
+                         use.doc \
                          modules.doc \
-                        options.doc \
+                         options.doc \
                          platform.doc \
-                         tracing.doc \                       
+                         tracing.doc \
                          pls.doc \
-                        bindings.doc \                                                  
-                        FAQ.doc \
+                         bindings.doc \
                          @top_srcdir@/doc/user_guide/doxygen/logcategories.doc
 
 ###################################################
index 6d73615..4454147 100644 (file)
@@ -549,7 +549,7 @@ int main(int argc, char *argv[])
   MSG_error_t res = MSG_OK;
 
   /* Check the given arguments */
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     printf("Usage: %s platform_file deployment_file [action_files]\n",
            argv[0]);
index d9f9995..40e941f 100644 (file)
@@ -884,7 +884,7 @@ static void random_lookup(node_t node)
  */
 int main(int argc, char *argv[])
 {
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     printf("Usage: %s [-nb_bits=n] [-timeout=t] platform_file deployment_file\n", argv[0]);
     printf("example: %s ../msg_platform.xml chord.xml\n", argv[0]);
index 2ed5704..1bc53a2 100644 (file)
@@ -176,7 +176,7 @@ int main(int argc, char *argv[])
   int i;
 
   /* Get the arguments */
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 2) {
     printf("Usage: %s platform_file\n", argv[0]);
     printf("example: %s msg_platform.xml\n", argv[0]);
index 796ea43..e3e62a5 100644 (file)
@@ -41,78 +41,79 @@ $ $SG_TEST_EXENV ${bindir:=.}/cloud/masterslave_virtual_machines$EXEEXT ${srcdir
 > [  914.133629] (1:master@Jacquelin) Sleep long enough for everyone to be done with previous batch of work
 > [  914.206445] (11:Slave 9@Fafard) "Task_9" done
 > [ 1000.000000] (1:master@Jacquelin) Add one more process per VM
-> [ 1000.000000] (1:master@Jacquelin) Migrate everyone to the second host.
-> [ 1000.000000] (1:master@Jacquelin) Suspend everyone, move them to the third host, and resume them.
 > [ 1000.000000] (1:master@Jacquelin) Sending "Task_0" to "Slave_0"
 > [ 1000.020275] (1:master@Jacquelin) Sending "Task_1" to "Slave_1"
-> [ 1000.020275] (2:Slave 0@Provost) Received "Task_0" from mailbox Slave_0
-> [ 1000.093091] (2:Slave 0@Provost) "Task_0" done
+> [ 1000.020275] (2:Slave 0@Jacquelin) Received "Task_0" from mailbox Slave_0
+> [ 1000.093091] (2:Slave 0@Jacquelin) "Task_0" done
 > [ 1071.553756] (1:master@Jacquelin) Sending "Task_2" to "Slave_2"
-> [ 1071.553756] (3:Slave 1@Provost) Received "Task_1" from mailbox Slave_1
-> [ 1071.626572] (3:Slave 1@Provost) "Task_1" done
+> [ 1071.553756] (3:Slave 1@Intel) Received "Task_1" from mailbox Slave_1
+> [ 1071.626572] (3:Slave 1@Intel) "Task_1" done
 > [ 1217.911039] (1:master@Jacquelin) Sending "Task_3" to "Slave_3"
 > [ 1217.911039] (4:Slave 2@Provost) Received "Task_2" from mailbox Slave_2
 > [ 1217.983855] (4:Slave 2@Provost) "Task_2" done
 > [ 1360.063805] (1:master@Jacquelin) Sending "Task_4" to "Slave_4"
-> [ 1360.063805] (5:Slave 3@Provost) Received "Task_3" from mailbox Slave_3
-> [ 1360.136620] (5:Slave 3@Provost) "Task_3" done
+> [ 1360.063805] (5:Slave 3@Fernand) Received "Task_3" from mailbox Slave_3
+> [ 1360.515251] (5:Slave 3@Fernand) "Task_3" done
 > [ 1427.243795] (1:master@Jacquelin) Sending "Task_5" to "Slave_5"
-> [ 1427.243795] (6:Slave 4@Provost) Received "Task_4" from mailbox Slave_4
-> [ 1427.316611] (6:Slave 4@Provost) "Task_4" done
+> [ 1427.243795] (6:Slave 4@Bescherelle) Received "Task_4" from mailbox Slave_4
+> [ 1427.316611] (6:Slave 4@Bescherelle) "Task_4" done
 > [ 1509.794890] (1:master@Jacquelin) Sending "Task_6" to "Slave_6"
-> [ 1509.794890] (7:Slave 5@Provost) Received "Task_5" from mailbox Slave_5
-> [ 1509.867706] (7:Slave 5@Provost) "Task_5" done
+> [ 1509.794890] (7:Slave 5@Ethernet) Received "Task_5" from mailbox Slave_5
+> [ 1509.896832] (7:Slave 5@Ethernet) "Task_5" done
 > [ 1576.548296] (1:master@Jacquelin) Sending "Task_7" to "Slave_7"
-> [ 1576.548296] (8:Slave 6@Provost) Received "Task_6" from mailbox Slave_6
-> [ 1576.621112] (8:Slave 6@Provost) "Task_6" done
+> [ 1576.548296] (8:Slave 6@Kuenning) Received "Task_6" from mailbox Slave_6
+> [ 1576.664802] (8:Slave 6@Kuenning) "Task_6" done
 > [ 1685.569407] (1:master@Jacquelin) Sending "Task_8" to "Slave_8"
-> [ 1685.569407] (9:Slave 7@Provost) Received "Task_7" from mailbox Slave_7
-> [ 1685.642222] (9:Slave 7@Provost) "Task_7" done
-> [ 1757.600403] (10:Slave 8@Provost) Received "Task_8" from mailbox Slave_8
+> [ 1685.569407] (9:Slave 7@Dodge) Received "Task_7" from mailbox Slave_7
+> [ 1685.656786] (9:Slave 7@Dodge) "Task_7" done
+> [ 1757.600403] (10:Slave 8@Jean_Yves) Received "Task_8" from mailbox Slave_8
 > [ 1757.600403] (1:master@Jacquelin) Sending "Task_9" to "Slave_9"
-> [ 1757.673219] (10:Slave 8@Provost) "Task_8" done
-> [ 1912.133629] (11:Slave 9@Provost) Received "Task_9" from mailbox Slave_9
+> [ 1757.702345] (10:Slave 8@Jean_Yves) "Task_8" done
+> [ 1912.133629] (11:Slave 9@Fafard) Received "Task_9" from mailbox Slave_9
 > [ 1912.133629] (1:master@Jacquelin) Sending "Task_10" to "Slave_10"
-> [ 1912.153904] (12:Slave 10@Provost) Received "Task_10" from mailbox Slave_10
+> [ 1912.153904] (12:Slave 10@Jacquelin) Received "Task_10" from mailbox Slave_10
 > [ 1912.153904] (1:master@Jacquelin) Sending "Task_11" to "Slave_11"
-> [ 1912.258985] (11:Slave 9@Provost) "Task_9" done
-> [ 1912.279260] (12:Slave 10@Provost) "Task_10" done
-> [ 1983.687385] (13:Slave 11@Provost) Received "Task_11" from mailbox Slave_11
+> [ 1912.206445] (11:Slave 9@Fafard) "Task_9" done
+> [ 1912.226720] (12:Slave 10@Jacquelin) "Task_10" done
+> [ 1983.687385] (13:Slave 11@Intel) Received "Task_11" from mailbox Slave_11
 > [ 1983.687385] (1:master@Jacquelin) Sending "Task_12" to "Slave_12"
-> [ 1983.760201] (13:Slave 11@Provost) "Task_11" done
+> [ 1983.760201] (13:Slave 11@Intel) "Task_11" done
 > [ 2130.044668] (14:Slave 12@Provost) Received "Task_12" from mailbox Slave_12
 > [ 2130.044668] (1:master@Jacquelin) Sending "Task_13" to "Slave_13"
 > [ 2130.117484] (14:Slave 12@Provost) "Task_12" done
-> [ 2272.197433] (15:Slave 13@Provost) Received "Task_13" from mailbox Slave_13
+> [ 2272.197433] (15:Slave 13@Fernand) Received "Task_13" from mailbox Slave_13
 > [ 2272.197433] (1:master@Jacquelin) Sending "Task_14" to "Slave_14"
-> [ 2272.270249] (15:Slave 13@Provost) "Task_13" done
-> [ 2339.377424] (16:Slave 14@Provost) Received "Task_14" from mailbox Slave_14
+> [ 2272.648880] (15:Slave 13@Fernand) "Task_13" done
+> [ 2339.377424] (16:Slave 14@Bescherelle) Received "Task_14" from mailbox Slave_14
 > [ 2339.377424] (1:master@Jacquelin) Sending "Task_15" to "Slave_15"
-> [ 2339.450240] (16:Slave 14@Provost) "Task_14" done
-> [ 2421.928519] (17:Slave 15@Provost) Received "Task_15" from mailbox Slave_15
+> [ 2339.450240] (16:Slave 14@Bescherelle) "Task_14" done
+> [ 2421.928519] (17:Slave 15@Ethernet) Received "Task_15" from mailbox Slave_15
 > [ 2421.928519] (1:master@Jacquelin) Sending "Task_16" to "Slave_16"
-> [ 2422.001335] (17:Slave 15@Provost) "Task_15" done
-> [ 2488.681925] (18:Slave 16@Provost) Received "Task_16" from mailbox Slave_16
+> [ 2422.030461] (17:Slave 15@Ethernet) "Task_15" done
+> [ 2488.681925] (18:Slave 16@Kuenning) Received "Task_16" from mailbox Slave_16
 > [ 2488.681925] (1:master@Jacquelin) Sending "Task_17" to "Slave_17"
-> [ 2488.754741] (18:Slave 16@Provost) "Task_16" done
-> [ 2597.703036] (19:Slave 17@Provost) Received "Task_17" from mailbox Slave_17
+> [ 2488.798430] (18:Slave 16@Kuenning) "Task_16" done
+> [ 2597.703036] (19:Slave 17@Dodge) Received "Task_17" from mailbox Slave_17
 > [ 2597.703036] (1:master@Jacquelin) Sending "Task_18" to "Slave_18"
-> [ 2597.775851] (19:Slave 17@Provost) "Task_17" done
+> [ 2597.790415] (19:Slave 17@Dodge) "Task_17" done
 > [ 2669.734032] (1:master@Jacquelin) Sending "Task_19" to "Slave_19"
-> [ 2669.734032] (20:Slave 18@Provost) Received "Task_18" from mailbox Slave_18
-> [ 2669.806848] (20:Slave 18@Provost) "Task_18" done
+> [ 2669.734032] (20:Slave 18@Jean_Yves) Received "Task_18" from mailbox Slave_18
+> [ 2669.835974] (20:Slave 18@Jean_Yves) "Task_18" done
+> [ 2824.267258] (1:master@Jacquelin) Migrate everyone to the second host.
+> [ 2824.267258] (1:master@Jacquelin) Suspend everyone, move them to the third host, and resume them.
 > [ 2824.267258] (1:master@Jacquelin) Let's shut down the simulation. 10 first processes will be shut down cleanly while the second half will forcefully get killed
-> [ 2824.267258] (21:Slave 19@Provost) Received "Task_19" from mailbox Slave_19
+> [ 2824.267258] (21:Slave 19@Fafard) Received "Task_19" from mailbox Slave_19
+> [ 2824.267453] (2:Slave 0@Provost) Received "finalize" from mailbox Slave_0
 > [ 2824.340073] (21:Slave 19@Provost) "Task_19" done
-> [ 2826.146912] (2:Slave 0@Provost) Received "finalize" from mailbox Slave_0
-> [ 2828.026566] (3:Slave 1@Provost) Received "finalize" from mailbox Slave_1
-> [ 2829.906220] (4:Slave 2@Provost) Received "finalize" from mailbox Slave_2
-> [ 2831.785873] (5:Slave 3@Provost) Received "finalize" from mailbox Slave_3
-> [ 2833.665527] (6:Slave 4@Provost) Received "finalize" from mailbox Slave_4
-> [ 2835.545181] (7:Slave 5@Provost) Received "finalize" from mailbox Slave_5
-> [ 2837.424835] (8:Slave 6@Provost) Received "finalize" from mailbox Slave_6
-> [ 2839.304489] (9:Slave 7@Provost) Received "finalize" from mailbox Slave_7
-> [ 2841.184143] (10:Slave 8@Provost) Received "finalize" from mailbox Slave_8
-> [ 2843.063797] (0:@) Simulation time 2843.06
-> [ 2843.063797] (11:Slave 9@Provost) Received "finalize" from mailbox Slave_9
-> [ 2843.063797] (1:master@Jacquelin) Goodbye now!
+> [ 2825.186151] (3:Slave 1@Provost) Received "finalize" from mailbox Slave_1
+> [ 2827.065805] (4:Slave 2@Provost) Received "finalize" from mailbox Slave_2
+> [ 2828.891461] (5:Slave 3@Provost) Received "finalize" from mailbox Slave_3
+> [ 2829.754248] (6:Slave 4@Provost) Received "finalize" from mailbox Slave_4
+> [ 2830.814444] (7:Slave 5@Provost) Received "finalize" from mailbox Slave_5
+> [ 2831.671752] (8:Slave 6@Provost) Received "finalize" from mailbox Slave_6
+> [ 2833.071901] (9:Slave 7@Provost) Received "finalize" from mailbox Slave_7
+> [ 2833.996989] (10:Slave 8@Provost) Received "finalize" from mailbox Slave_8
+> [ 2835.981646] (0:@) Simulation time 2835.98
+> [ 2835.981646] (11:Slave 9@Provost) Received "finalize" from mailbox Slave_9
+> [ 2835.981646] (1:master@Jacquelin) Goodbye now!
+
index a490f15..9d176fd 100644 (file)
@@ -24,7 +24,7 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
 
   m_gpu_task_t mytask = NULL;
 
index aab840b..8d889c6 100644 (file)
@@ -231,7 +231,7 @@ int main(int argc, char *argv[])
   MSG_error_t res = MSG_OK;
   bool_printed = 0;
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     printf("Usage: %s platform_file deployment_file\n", argv[0]);
     exit(1);
index 9f882a4..445a700 100644 (file)
@@ -171,7 +171,7 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     printf("Usage: %s platform_file deployment_file\n", argv[0]);
     printf("example: %s msg_platform.xml msg_deployment.xml\n", argv[0]);
index 651e3db..8d59024 100644 (file)
@@ -124,7 +124,7 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     printf("Usage: %s platform_file deployment_file\n", argv[0]);
     printf("example: %s msg_platform.xml msg_deployment.xml\n", argv[0]);
index 128d01f..17ba947 100644 (file)
@@ -158,7 +158,7 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     printf("Usage: %s platform_file deployment_file\n", argv[0]);
     printf("example: %s msg_platform.xml msg_deployment.xml\n", argv[0]);
index ed8e91a..e8830de 100644 (file)
@@ -71,8 +71,8 @@ int host(int argc, char *argv[])
 
 int main(int argc, char **argv)
 {
-    int i,res;
-  MSG_global_init(&argc, argv);
+  int i,res;
+  MSG_init(&argc, argv);
   MSG_create_environment(argv[1]);
   xbt_dynar_t hosts =  MSG_hosts_as_dynar();
   MSG_function_register("host", host);
index 58c7d7b..4fd570a 100644 (file)
@@ -95,7 +95,7 @@ int main(int argc, char *argv[])
   MSG_error_t res = MSG_OK;
   long i;
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 4) {
     printf("Usage: %s platform_file number_of_jobs number_of_slaves\n", argv[0]);
     printf("example: %s msg_platform.xml 10 5\n", argv[0]);
index 3b4f97c..62a86bd 100644 (file)
@@ -281,7 +281,7 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   res = test_all();
   MSG_clean();
 
index e45876f..6d78433 100644 (file)
@@ -218,7 +218,7 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   res = test_all(argv[1]);
   MSG_clean();
 
index 0b54bfa..6a1aec9 100644 (file)
@@ -124,7 +124,7 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 2) {
     printf("Usage: %s platform_script[.lua]\n", argv[0]);
     printf("example: %s platform_script.lua\n", argv[0]);
index 39e7d7e..c567f4c 100644 (file)
@@ -203,7 +203,7 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     printf("Usage: %s platform_file deployment_file\n", argv[0]);
     printf("example: %s msg_platform.xml msg_deployment.xml\n", argv[0]);
index 3e3560e..e0bfee0 100644 (file)
@@ -207,7 +207,7 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     printf("Usage: %s platform_file deployment_file\n", argv[0]);
     printf("example: %s msg_platform.xml msg_deployment.xml\n", argv[0]);
index 7baf1e6..ae4a14d 100644 (file)
@@ -65,7 +65,7 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     XBT_CRITICAL("Usage: %s platform_file deployment_file\n", argv[0]);
     XBT_CRITICAL("example: %s msg_platform.xml msg_deployment_suspend.xml\n",
index 1273e90..3543f23 100644 (file)
@@ -104,7 +104,7 @@ int main(int argc, char *argv[])
   const char *platform_file;
   const char *application_file;
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     printf("Usage: %s platform_file deployment_file\n", argv[0]);
     printf("example: %s msg_platform.xml msg_deployment.xml\n", argv[0]);
index 34cf083..e11ce0b 100644 (file)
@@ -5,8 +5,6 @@ set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
 
 add_executable(centralized centralized_mutex.c)
 add_executable(bugged1     bugged1.c)
-add_executable(bugged1_stateful bugged1_stateful.c)
-add_executable(bugged2_stateful bugged2_stateful.c)
 add_executable(bugged2      bugged2.c)
 add_executable(bugged3    bugged3.c)
 add_executable(random_test random_test.c)
@@ -19,8 +17,6 @@ add_executable(test_snapshot test_snapshot.c)
 
 target_link_libraries(centralized simgrid m )
 target_link_libraries(bugged1     simgrid m )
-target_link_libraries(bugged1_stateful simgrid m)
-target_link_libraries(bugged2_stateful simgrid m)
 target_link_libraries(bugged2     simgrid m )
 target_link_libraries(bugged3     simgrid m )
 target_link_libraries(random_test     simgrid m )
@@ -56,11 +52,9 @@ set(examples_src
   ${examples_src}
   ${CMAKE_CURRENT_SOURCE_DIR}/bugged1.c
   ${CMAKE_CURRENT_SOURCE_DIR}/bugged1_for_liveness.c
-  ${CMAKE_CURRENT_SOURCE_DIR}/bugged1_stateful.c
   ${CMAKE_CURRENT_SOURCE_DIR}/bugged1_while_liveness.c
   ${CMAKE_CURRENT_SOURCE_DIR}/bugged2.c
   ${CMAKE_CURRENT_SOURCE_DIR}/bugged2_liveness.c
-  ${CMAKE_CURRENT_SOURCE_DIR}/bugged2_stateful.c
   ${CMAKE_CURRENT_SOURCE_DIR}/bugged3.c
   ${CMAKE_CURRENT_SOURCE_DIR}/centralized_liveness.c
   ${CMAKE_CURRENT_SOURCE_DIR}/centralized_liveness_deadlock.c
index 80fbae2..82bb266 100644 (file)
@@ -46,7 +46,7 @@ int client(int argc, char *argv[])
 int main(int argc, char *argv[])
 {
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
 
   MSG_create_environment("platform.xml");
 
index 0a5983d..784e667 100644 (file)
@@ -132,7 +132,7 @@ int main(int argc, char *argv[])
   xbt_new_propositional_symbol(a,"r", &predR); 
   xbt_new_propositional_symbol(a,"cs", &predCS); 
   
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   MSG_create_environment("../msg_platform.xml");
   MSG_function_register("coordinator", coordinator);
   MSG_function_register("client", client);
diff --git a/examples/msg/mc/bugged1_stateful.c b/examples/msg/mc/bugged1_stateful.c
deleted file mode 100644 (file)
index 4bf0381..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/******************** Non-deterministic message ordering  *********************/
-/* Server assumes a fixed order in the reception of messages from its clients */
-/* which is incorrect because the message ordering is non-deterministic       */
-/******************************************************************************/
-
-#include <msg/msg.h>
-#include <simgrid/modelchecker.h>
-#define N 3
-
-XBT_LOG_NEW_DEFAULT_CATEGORY(example, "this example");
-
-int server(int argc, char *argv[]);
-int client(int argc, char *argv[]);
-
-int server(int argc, char *argv[])
-{
-  m_task_t task = NULL;
-  int count = 0;
-  while (count < N) {
-    if (task) {
-      MSG_task_destroy(task);
-      task = NULL;
-    }
-    MSG_task_receive(&task, "mymailbox");
-    count++;
-  }
-  MC_assert_stateful(atoi(MSG_task_get_name(task)) == 3);
-
-  XBT_INFO("OK");
-  return 0;
-}
-
-int client(int argc, char *argv[])
-{
-
-  m_task_t task =
-      MSG_task_create(argv[1], 0 /*comp cost */ , 10000 /*comm size */ ,
-                      NULL /*arbitrary data */ );
-
-  MSG_task_send(task, "mymailbox");
-
-  XBT_INFO("Sent!");
-  return 0;
-}
-
-int main(int argc, char *argv[])
-{
-   
-  MSG_global_init(&argc, argv);
-
-  MSG_create_environment("platform.xml");
-
-  MSG_function_register("server", server);
-
-  MSG_function_register("client", client);
-
-  MSG_launch_application("deploy_bugged1.xml");
-
-  MSG_main_stateful();
-  
-  MSG_clean();
-   
-  return 0;
-
-}
index f26749c..8d2bdb2 100644 (file)
@@ -123,7 +123,7 @@ int main(int argc, char *argv[])
   xbt_new_propositional_symbol(a,"r", &predR); 
   xbt_new_propositional_symbol(a,"cs", &predCS); 
   
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   MSG_create_environment("../msg_platform.xml");
   MSG_function_register("coordinator", coordinator);
   MSG_function_register("client", client);
index 28ef0f7..f703ec8 100644 (file)
@@ -64,7 +64,7 @@ int client(int argc, char *argv[])
 
 int main(int argc, char *argv[])
 {
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
 
   MSG_create_environment("platform.xml");
 
index 5a2dd19..25a35ca 100644 (file)
@@ -178,7 +178,7 @@ int main(int argc, char *argv[])
   xbt_new_propositional_symbol(a,"consume", &predConsume);
   xbt_new_propositional_symbol(a,"produce", &predProduce); 
   
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   MSG_create_environment("../msg_platform.xml");
   MSG_function_register("coordinator", coordinator);
   MSG_function_register("consumer", consumer);
diff --git a/examples/msg/mc/bugged2_stateful.c b/examples/msg/mc/bugged2_stateful.c
deleted file mode 100644 (file)
index 8c6df80..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/******************** Non-deterministic message ordering  *********************/
-/* Server assumes a fixed order in the reception of messages from its clients */
-/* which is incorrect because the message ordering is non-deterministic       */
-/******************************************************************************/
-
-#include <msg/msg.h>
-#include <simgrid/modelchecker.h>
-#define N 3
-
-XBT_LOG_NEW_DEFAULT_CATEGORY(example, "this example");
-
-int server(int argc, char *argv[]);
-int client(int argc, char *argv[]);
-
-int server(int argc, char *argv[])
-{
-  m_task_t task1, task2;
-  long val1, val2;
-
-  MSG_task_receive(&task1, "mymailbox");
-  val1 = (long) MSG_task_get_data(task1);
-  MSG_task_destroy(task1);
-  task1 = NULL;
-  XBT_INFO("Received %lu", val1);
-
-  MSG_task_receive(&task2, "mymailbox");
-  val2 = (long) MSG_task_get_data(task2);
-  MSG_task_destroy(task2);
-  task2 = NULL;
-  XBT_INFO("Received %lu", val2);
-
-  MC_assert_stateful(min(val1, val2) == 1);
-
-  MSG_task_receive(&task1, "mymailbox");
-  val1 = (long) MSG_task_get_data(task1);
-  MSG_task_destroy(task1);
-  XBT_INFO("Received %lu", val1);
-
-  MSG_task_receive(&task2, "mymailbox");
-  val2 = (long) MSG_task_get_data(task2);
-  MSG_task_destroy(task2);
-  XBT_INFO("Received %lu", val2);
-
-  XBT_INFO("OK");
-  return 0;
-}
-
-int client(int argc, char *argv[])
-{
-  m_task_t task1 =
-      MSG_task_create("task", 0, 10000, (void *) atol(argv[1]));
-  m_task_t task2 =
-      MSG_task_create("task", 0, 10000, (void *) atol(argv[1]));
-
-  XBT_INFO("Send %d!", atoi(argv[1]));
-  MSG_task_send(task1, "mymailbox");
-
-  XBT_INFO("Send %d!", atoi(argv[1]));
-  MSG_task_send(task2, "mymailbox");
-
-  return 0;
-}
-
-int main(int argc, char *argv[])
-{
-  MSG_global_init(&argc, argv);
-
-  MSG_create_environment("platform.xml");
-
-  MSG_function_register("server", server);
-
-  MSG_function_register("client", client);
-
-  MSG_launch_application("deploy_bugged2.xml");
-
-  MSG_main_stateful();
-
-  return 0;
-}
index 0a21025..9e7bdfc 100644 (file)
@@ -55,7 +55,7 @@ int client(int argc, char *argv[])
 
 int main(int argc, char *argv[])
 {
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
 
   MSG_create_environment("platform.xml");
 
index 395d4c2..c78c267 100644 (file)
@@ -102,7 +102,7 @@ int main(int argc, char *argv[])
   xbt_automaton_t a = MC_create_automaton("promela_centralized_liveness");
   xbt_new_propositional_symbol(a,"cs", &predCS); 
   
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   MSG_create_environment("../msg_platform.xml");
   MSG_function_register("coordinator", coordinator);
   MSG_function_register("client", client);
index d73624f..3c02d51 100644 (file)
@@ -99,7 +99,7 @@ int main(int argc, char *argv[])
   xbt_automaton_t a = MC_create_automaton("promela_centralized_liveness");
   xbt_new_propositional_symbol(a,"cs", &predCS); 
   
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   MSG_create_environment("../msg_platform.xml");
   MSG_function_register("coordinator", coordinator);
   MSG_function_register("client", client);
index 5cfb74f..7e50729 100644 (file)
@@ -80,7 +80,7 @@ int client(int argc, char *argv[])
 
 int main(int argc, char *argv[])
 {
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   MSG_create_environment("../msg_platform.xml");
   MSG_function_register("coordinator", coordinator);
   MSG_function_register("client", client);
index 9dda26d..8814bdf 100644 (file)
@@ -16,7 +16,7 @@ int server(int argc, char *argv[])
 
 int main(int argc, char *argv[])
 {
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
 
   MSG_create_environment("platform.xml");
 
index 13ca8d0..77260db 100644 (file)
@@ -136,7 +136,7 @@ int main(int argc, char *argv[])
   xbt_new_propositional_symbol(automaton,"r", &predR); 
   xbt_new_propositional_symbol(automaton,"cs", &predCS); 
   
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   MSG_create_environment("../msg_platform.xml");
   MSG_function_register("coordinator", coordinator);
   MSG_function_register("client", client);
index 898ac25..eb3c78a 100644 (file)
@@ -74,7 +74,7 @@ int main(int argc, char *argv[])
   MSG_error_t res = MSG_OK;
 
   /* Argument checking */
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     XBT_CRITICAL("Usage: %s platform_file deployment_file\n", argv[0]);
     XBT_CRITICAL("example: %s msg_platform.xml msg_deployment_suspend.xml\n",
index 7811e91..8a72806 100644 (file)
@@ -94,7 +94,7 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 2) {
     printf("Usage: %s platform_file\n", argv[0]);
     printf("example: %s msg_platform.xml\n", argv[0]);
index 4417558..07c340f 100644 (file)
@@ -158,7 +158,7 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     printf("Usage: %s platform_file deployment_file\n", argv[0]);
     exit(1);
index 243657d..6ff6d1a 100644 (file)
@@ -260,7 +260,7 @@ int main(int argc, char *argv[])
   xbt_os_timer_t timer = xbt_os_timer_new();
 #endif
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
 
   char **options = &argv[1];
   const char* platform_file = options[0];
index 02f0758..8690ec5 100644 (file)
@@ -73,7 +73,7 @@ int main(int argc, char *argv[])
 #endif
 
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     printf("Usage: %s platform_file deployment_file\n", argv[0]);
     printf("example: %s msg_platform.xml msg_deployment.xml\n", argv[0]);
index 63f1e5f..1889aa6 100644 (file)
@@ -128,7 +128,7 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     printf("Usage: %s platform_file deployment_file\n", argv[0]);
     printf("example: %s msg_platform.xml msg_deployment.xml\n", argv[0]);
index a59aa54..1e2dc06 100644 (file)
@@ -165,7 +165,7 @@ int main(int argc, char *argv[])
       _set_output_format(_TWO_DIGIT_EXPONENT);
 #endif
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
 
 
   if (argc != 3) {
index 255e18d..1b293b3 100644 (file)
@@ -52,7 +52,7 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     XBT_CRITICAL("Usage: %s platform_file deployment_file\n", argv[0]);
     XBT_CRITICAL("example: %s msg_platform.xml msg_deployment_suspend.xml\n",
index a60c03f..1c794a5 100644 (file)
@@ -68,7 +68,7 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     XBT_CRITICAL("Usage: %s platform_file deployment_file\n", argv[0]);
     XBT_CRITICAL("example: %s msg_platform.xml msg_deployment_suspend.xml\n",
index 3de124d..243445c 100644 (file)
@@ -63,7 +63,7 @@ int host(int argc, char *argv[])
 int main(int argc, char **argv)
 {
   int i,res;
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   MSG_create_environment(argv[1]);
   xbt_dynar_t hosts = MSG_hosts_as_dynar();
   nb_hosts =  xbt_dynar_length(hosts);
index 3451219..d85e651 100644 (file)
@@ -88,7 +88,7 @@ int slave(int argc, char *argv[])
 /** Main function */
 int main(int argc, char *argv[])
 {
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     printf("Usage: %s platform_file deployment_file\n", argv[0]);
     exit(1);
index 15d6eb3..912697a 100644 (file)
@@ -75,7 +75,7 @@ int master(int argc, char *argv[])
 /** Main function */
 int main(int argc, char *argv[])
 {
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     printf("Usage: %s platform_file deployment_file\n", argv[0]);
     exit(1);
index 7cdcbf4..5e255ea 100644 (file)
@@ -67,7 +67,7 @@ int master(int argc, char *argv[])
 /** Main function */
 int main(int argc, char *argv[])
 {
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     printf("Usage: %s platform_file deployment_file\n", argv[0]);
     exit(1);
index d15b876..6d82eb4 100644 (file)
@@ -99,7 +99,7 @@ int slave(int argc, char *argv[])
 /** Main function */
 int main(int argc, char *argv[])
 {
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     printf("Usage: %s platform_file deployment_file\n", argv[0]);
     exit(1);
index 26a7eff..2666d84 100644 (file)
@@ -80,7 +80,7 @@ static int master(int argc, char *argv[])
 int main(int argc, char *argv[])
 {
   /* Argument checking */
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     XBT_CRITICAL("Usage: %s platform_file deployment_file\n", argv[0]);
     exit(1);
index 00f428a..5842689 100644 (file)
@@ -38,7 +38,7 @@ int simple_func(int argc, char *argv[])
 /** Main function */
 int main(int argc, char *argv[])
 {
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     printf("Usage: %s platform_file deployment_file\n", argv[0]);
     exit(1);
index ffcfaa1..685a8bf 100644 (file)
@@ -26,7 +26,7 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test, "Messages specific for this msg example")
 /** Main function */
 int main(int argc, char *argv[])
 {
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 2) {
     printf("Usage: %s platform_file\n", argv[0]);
     exit(1);
index 6c63b9d..c2d7573 100644 (file)
@@ -59,7 +59,7 @@ int master(int argc, char *argv[])
 /** Main function */
 int main(int argc, char *argv[])
 {
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 3) {
     printf("Usage: %s platform_file deployment_file\n", argv[0]);
     exit(1);
index 2fb6435..4a37ef4 100644 (file)
@@ -35,10 +35,29 @@ typedef enum {
 
 /************************** Global ******************************************/
 XBT_PUBLIC(void) MSG_config(const char *name, ...);
-XBT_PUBLIC(void) MSG_global_init(int *argc, char **argv);
-XBT_PUBLIC(void) MSG_global_init_args(int *argc, char **argv);
+/** \ingroup msg_simulation
+ *  \brief Initialize the MSG internal data.
+ *  \hideinitializer
+ *
+ *  It also check that the link-time and compile-time versions of SimGrid do
+ *  match, so you should use this version instead of the #MSG_init_nocheck
+ *  function that does the same initializations, but without this check.
+ *
+ *  We allow to link against compiled versions that differ in the patch level.
+ */
+#define MSG_init(argc,argv)  {                      \
+         int ver_major,ver_minor,ver_patch;              \
+         sg_version(&ver_major,&ver_minor,&ver_patch);   \
+         if ((ver_major != SIMGRID_VERSION_MAJOR) ||     \
+             (ver_minor != SIMGRID_VERSION_MINOR)) {     \
+           fprintf(stderr,"FATAL ERROR: Your program was compiled with SimGrid version %d.%d.%d, and then linked against SimGrid %d.%d.%d. Please fix this.\n", \
+               SIMGRID_VERSION_MAJOR,SIMGRID_VERSION_MINOR,SIMGRID_VERSION_PATCH,ver_major,ver_minor,ver_patch);                          \
+         }                                               \
+         MSG_init_nocheck(argc,argv);                    \
+       }
+
+XBT_PUBLIC(void) MSG_init_nocheck(int *argc, char **argv);
 XBT_PUBLIC(MSG_error_t) MSG_main(void);
-XBT_PUBLIC(MSG_error_t) MSG_main_stateful(void);
 XBT_PUBLIC(MSG_error_t) MSG_main_liveness(xbt_automaton_t a);
 XBT_PUBLIC(MSG_error_t) MSG_clean(void);
 XBT_PUBLIC(void) MSG_function_register(const char *name,
@@ -246,6 +265,9 @@ XBT_PUBLIC(MSG_error_t)
 MSG_error_t MSG_action_trace_run(char *path);
 
 #ifdef MSG_USE_DEPRECATED
+#define MSG_global_init(argc, argv)      MSG_init(argc,argv)
+#define MSG_global_init_args(argc, argv) MSG_init(argc,argv)
+
 /* these are the functions which are deprecated. Do not use them, they may get removed in future releases */
 XBT_PUBLIC(int) MSG_get_host_number(void);
 XBT_PUBLIC(m_host_t *) MSG_get_host_table(void);
index 30d97c3..2752cbd 100644 (file)
@@ -18,7 +18,6 @@ extern int _surf_do_model_check;
 #define MC_IS_ENABLED _surf_do_model_check
 
 XBT_PUBLIC(void) MC_assert(int);
-XBT_PUBLIC(void) MC_assert_stateful(int);
 XBT_PUBLIC(int) MC_random(int min, int max);
 XBT_PUBLIC(void) MC_diff(void);
 XBT_PUBLIC(xbt_automaton_t) MC_create_automaton(const char *file);
@@ -27,7 +26,6 @@ XBT_PUBLIC(xbt_automaton_t) MC_create_automaton(const char *file);
 
 #define MC_IS_ENABLED 0
 #define MC_assert(a) xbt_assert(a)
-#define MC_assert_stateful(a) xbt_assert(a)
 
 #endif
 
index a1b3414..a12421b 100644 (file)
@@ -33,20 +33,6 @@ SG_BEGIN_DECL()
     SIMGRID_VERSION_MAJOR and friends give the version numbers of the used header files */
 XBT_PUBLIC(void) sg_version(int *major,int *minor,int *patch);
 
-/** Check that the link-time and compile-time versions of SimGrid do match.
-  * There is no need to call it yourself, it's done automatically during the SimGrid initialization */
-#define sg_check_version() {                      \
-  int ver_major,ver_minor,ver_patch;              \
-  sg_version(&ver_major,&ver_minor,&ver_patch);   \
-  if ((ver_major != SIMGRID_VERSION_MAJOR) ||     \
-      (ver_minor != SIMGRID_VERSION_MINOR) ||     \
-      (ver_patch != SIMGRID_VERSION_PATCH)) {     \
-    fprintf(stderr,"FATAL ERROR: Your program was compiled with SimGrid version %d.%d.%d, and then linked against SimGrid %d.%d.%d. Please fix this.\n", \
-        SIMGRID_VERSION_MAJOR,SIMGRID_VERSION_MINOR,SIMGRID_VERSION_PATCH,ver_major,ver_minor,ver_patch);                          \
-  }                                               \
-} 
-  
-
 /* take care of DLL usage madness */
 
 #ifdef _XBT_DLL_EXPORT
index 11e4bad..09d96d8 100644 (file)
@@ -318,7 +318,7 @@ int luaopen_simgrid(lua_State *L)
     argv[argc--] = NULL;
 
     /* Initialize the MSG core */
-    MSG_global_init(&argc, argv);
+    MSG_init(&argc, argv);
     MSG_process_set_data_cleanup((void_f_pvoid_t) lua_close);
     XBT_DEBUG("Still %d arguments on command line", argc); // FIXME: update the lua's arg table to reflect the changes from SimGrid
   }
index 4b34fd6..cf0bab6 100644 (file)
 SG_BEGIN_DECL()
 
 /********************************* Global *************************************/
-XBT_PUBLIC(void) MC_init_safety_stateless(void);
-XBT_PUBLIC(void) MC_init_safety_stateful(void);
+XBT_PUBLIC(void) MC_init_safety(void);
 XBT_PUBLIC(void) MC_exit(void);
 XBT_PUBLIC(void) MC_exit_liveness(void);
 XBT_PUBLIC(void) MC_modelcheck(void);
-XBT_PUBLIC(void) MC_modelcheck_stateful(void);
 XBT_PUBLIC(void) MC_modelcheck_liveness(xbt_automaton_t a);
 XBT_PUBLIC(void) MC_process_clock_add(smx_process_t, double);
 XBT_PUBLIC(double) MC_process_clock_get(smx_process_t);
index 6b737a4..dd0aba3 100644 (file)
@@ -19,7 +19,6 @@ void MC_dpor_init()
   /* Create the initial state and push it into the exploration stack */
   MC_SET_RAW_MEM;
   initial_state = MC_state_new();
-  xbt_fifo_unshift(mc_stack_safety_stateless, initial_state);
   MC_UNSET_RAW_MEM;
 
   XBT_DEBUG("**************************************************");
@@ -36,6 +35,12 @@ void MC_dpor_init()
       break;
     }
   }
+
+  initial_state->system_state = xbt_new0(s_mc_snapshot_t, 1);
+  MC_take_snapshot(initial_state->system_state);
+
+  xbt_fifo_unshift(mc_stack_safety, initial_state);
+
   MC_UNSET_RAW_MEM;
     
   /* FIXME: Update Statistics 
@@ -53,19 +58,20 @@ void MC_dpor(void)
   char *req_str;
   int value;
   smx_simcall_t req = NULL, prev_req = NULL;
-  mc_state_t state = NULL, prev_state = NULL, next_state = NULL;
+  mc_state_t state = NULL, prev_state = NULL, next_state = NULL, restore_state=NULL;
   smx_process_t process = NULL;
   xbt_fifo_item_t item = NULL;
+  int pos;
 
-  while (xbt_fifo_size(mc_stack_safety_stateless) > 0) {
+  while (xbt_fifo_size(mc_stack_safety) > 0) {
 
     /* Get current state */
     state = (mc_state_t) 
-      xbt_fifo_get_item_content(xbt_fifo_get_first_item(mc_stack_safety_stateless));
+      xbt_fifo_get_item_content(xbt_fifo_get_first_item(mc_stack_safety));
 
     XBT_DEBUG("**************************************************");
     XBT_DEBUG("Exploration depth=%d (state=%p)(%u interleave)",
-              xbt_fifo_size(mc_stack_safety_stateless), state,
+              xbt_fifo_size(mc_stack_safety), state,
               MC_state_interleave_size(state));
 
     /* Update statistics */
@@ -73,7 +79,7 @@ void MC_dpor(void)
 
     /* If there are processes to interleave and the maximum depth has not been reached
        then perform one step of the exploration algorithm */
-    if (xbt_fifo_size(mc_stack_safety_stateless) < MAX_DEPTH &&
+    if (xbt_fifo_size(mc_stack_safety) < MAX_DEPTH &&
         (req = MC_state_get_request(state, &value))) {
 
       /* Debug information */
@@ -94,9 +100,9 @@ void MC_dpor(void)
 
       /* Create the new expanded state */
       MC_SET_RAW_MEM;
-      next_state = MC_state_new();
-      xbt_fifo_unshift(mc_stack_safety_stateless, next_state);
 
+      next_state = MC_state_new();
+      
       /* Get an enabled process and insert it in the interleave set of the next state */
       xbt_swag_foreach(process, simix_global->process_list){
         if(MC_process_is_enabled(process)){
@@ -104,6 +110,13 @@ void MC_dpor(void)
           break;
         }
       }
+
+      if(_surf_do_mc_checkpoint && ((xbt_fifo_size(mc_stack_safety) + 1) % _surf_do_mc_checkpoint == 0)){
+        next_state->system_state = xbt_new0(s_mc_snapshot_t, 1);
+        MC_take_snapshot(next_state->system_state);
+      }
+
+      xbt_fifo_unshift(mc_stack_safety, next_state);
       MC_UNSET_RAW_MEM;
 
       /* FIXME: Update Statistics
@@ -118,7 +131,7 @@ void MC_dpor(void)
 
       /* Trash the current state, no longer needed */
       MC_SET_RAW_MEM;
-      xbt_fifo_shift(mc_stack_safety_stateless);
+      xbt_fifo_shift(mc_stack_safety);
       MC_state_delete(state);
       MC_UNSET_RAW_MEM;
 
@@ -135,9 +148,9 @@ void MC_dpor(void)
          (from it's predecesor state), depends on any other previous request 
          executed before it. If it does then add it to the interleave set of the
          state that executed that previous request. */
-      while ((state = xbt_fifo_shift(mc_stack_safety_stateless)) != NULL) {
+      while ((state = xbt_fifo_shift(mc_stack_safety)) != NULL) {
         req = MC_state_get_internal_request(state);
-        xbt_fifo_foreach(mc_stack_safety_stateless, item, prev_state, mc_state_t) {
+        xbt_fifo_foreach(mc_stack_safety, item, prev_state, mc_state_t) {
           if(MC_request_depend(req, MC_state_get_internal_request(prev_state))){
             if(XBT_LOG_ISENABLED(mc_dpor, xbt_log_priority_debug)){
               XBT_DEBUG("Dependent Transitions:");
@@ -161,10 +174,36 @@ void MC_dpor(void)
         }
         if (MC_state_interleave_size(state)) {
           /* We found a back-tracking point, let's loop */
-          xbt_fifo_unshift(mc_stack_safety_stateless, state);
-          XBT_DEBUG("Back-tracking to depth %d", xbt_fifo_size(mc_stack_safety_stateless));
-          MC_UNSET_RAW_MEM;
-          MC_replay(mc_stack_safety_stateless);
+          if(_surf_do_mc_checkpoint){
+            if(state->system_state != NULL){
+              MC_restore_snapshot(state->system_state);
+              xbt_fifo_unshift(mc_stack_safety, state);
+              XBT_DEBUG("Back-tracking to depth %d", xbt_fifo_size(mc_stack_safety));
+              MC_UNSET_RAW_MEM;
+            }else{
+              pos = xbt_fifo_size(mc_stack_safety);
+              item = xbt_fifo_get_first_item(mc_stack_safety);
+              while(pos>0){
+                restore_state = (mc_state_t) xbt_fifo_get_item_content(item);
+                if(restore_state->system_state != NULL){
+                  break;
+                }else{
+                  item = xbt_fifo_get_next_item(item);
+                  pos--;
+                }
+              }
+              MC_restore_snapshot(restore_state->system_state);
+              xbt_fifo_unshift(mc_stack_safety, state);
+              XBT_DEBUG("Back-tracking to depth %d", xbt_fifo_size(mc_stack_safety));
+              MC_UNSET_RAW_MEM;
+              MC_replay(mc_stack_safety, pos);
+            }
+          }else{
+            xbt_fifo_unshift(mc_stack_safety, state);
+            XBT_DEBUG("Back-tracking to depth %d", xbt_fifo_size(mc_stack_safety));
+            MC_UNSET_RAW_MEM;
+            MC_replay(mc_stack_safety, -1);
+          }
           break;
         } else {
           MC_state_delete(state);
@@ -179,179 +218,5 @@ void MC_dpor(void)
 }
 
 
-/********************* DPOR stateful *********************/
-
-mc_state_ws_t new_state_ws(mc_snapshot_t s, mc_state_t gs){
-  mc_state_ws_t sws = NULL;
-  sws = xbt_new0(s_mc_state_ws_t, 1);
-  sws->system_state = s;
-  sws->graph_state = gs;
-  return sws;
-}
-
-void MC_dpor_stateful_init(){
-
-  XBT_DEBUG("**************************************************");
-  XBT_DEBUG("DPOR (stateful) init");
-  XBT_DEBUG("**************************************************");
-
-  mc_state_t initial_graph_state;
-  smx_process_t process; 
-  mc_snapshot_t initial_system_snapshot;
-  mc_state_ws_t initial_state ;
-  
-  MC_wait_for_requests();
-
-  MC_SET_RAW_MEM;
-
-  initial_system_snapshot = xbt_new0(s_mc_snapshot_t, 1);
-
-  initial_graph_state = MC_state_new();
-  xbt_swag_foreach(process, simix_global->process_list){
-    if(MC_process_is_enabled(process)){
-      MC_state_interleave_process(initial_graph_state, process);
-      break;
-    }
-  }
-
-  MC_take_snapshot(initial_system_snapshot);
-
-  initial_state = new_state_ws(initial_system_snapshot, initial_graph_state);
-  xbt_fifo_unshift(mc_stack_safety_stateful, initial_state);
-
-  MC_UNSET_RAW_MEM;
-
-}
-
-void MC_dpor_stateful(){
-
-  smx_process_t process = NULL;
-  
-  if(xbt_fifo_size(mc_stack_safety_stateful) == 0)
-    return;
-
-  int value;
-  mc_state_t next_graph_state = NULL;
-  smx_simcall_t req = NULL, prev_req = NULL;
-  char *req_str;
-  xbt_fifo_item_t item = NULL;
-
-  mc_snapshot_t next_snapshot;
-  mc_state_ws_t current_state;
-  mc_state_ws_t prev_state;
-  mc_state_ws_t next_state;
-  while(xbt_fifo_size(mc_stack_safety_stateful) > 0){
-
-    current_state = (mc_state_ws_t)xbt_fifo_get_item_content(xbt_fifo_get_first_item(mc_stack_safety_stateful));
-
-    
-    XBT_DEBUG("**************************************************");
-    XBT_DEBUG("Depth : %d, State : %p , %u interleave", xbt_fifo_size(mc_stack_safety_stateful),current_state, MC_state_interleave_size(current_state->graph_state));
-
-    mc_stats->visited_states++;
-    if(mc_stats->expanded_states>1100)
-      exit(0);
-    //sleep(1);
-
-    if((xbt_fifo_size(mc_stack_safety_stateful) < MAX_DEPTH) && (req = MC_state_get_request(current_state->graph_state, &value))){
-
-      /* Debug information */
-      if(XBT_LOG_ISENABLED(mc_dpor, xbt_log_priority_debug)){
-        req_str = MC_request_to_string(req, value);
-        //XBT_INFO("Visited states = %lu",mc_stats->visited_states );
-        XBT_DEBUG("Execute: %s",req_str);
-        xbt_free(req_str);
-      }
-
-      MC_state_set_executed_request(current_state->graph_state, req, value);
-      mc_stats->executed_transitions++;
-      
-      /* Answer the request */
-      SIMIX_simcall_pre(req, value);
-      
-      /* Wait for requests (schedules processes) */
-      MC_wait_for_requests();
-      
-      /* Create the new expanded graph_state */
-      MC_SET_RAW_MEM;
-      
-      next_graph_state = MC_state_new();
-      
-      /* Get an enabled process and insert it in the interleave set of the next graph_state */
-      xbt_swag_foreach(process, simix_global->process_list){
-        if(MC_process_is_enabled(process)){
-          MC_state_interleave_process(next_graph_state, process);
-          break;
-        }
-      }
-
-      next_snapshot = xbt_new0(s_mc_snapshot_t, 1);
-      MC_take_snapshot(next_snapshot);
-
-      next_state = new_state_ws(next_snapshot, next_graph_state);
-      xbt_fifo_unshift(mc_stack_safety_stateful, next_state);
-      
-      MC_UNSET_RAW_MEM;
-
-    }else{
-      XBT_DEBUG("There are no more processes to interleave.");
-      
-      /* Trash the current state, no longer needed */
-      MC_SET_RAW_MEM;
-      xbt_fifo_shift(mc_stack_safety_stateful);
-      MC_UNSET_RAW_MEM;
-
-      /* Check for deadlocks */
-      if(MC_deadlock_check()){
-        MC_show_deadlock_stateful(NULL);
-        return;
-      }
-
-      MC_SET_RAW_MEM;
-      while((current_state = xbt_fifo_shift(mc_stack_safety_stateful)) != NULL){
-        req = MC_state_get_internal_request(current_state->graph_state);
-        xbt_fifo_foreach(mc_stack_safety_stateful, item, prev_state, mc_state_ws_t) {
-          if(MC_request_depend(req, MC_state_get_internal_request(prev_state->graph_state))){
-            if(XBT_LOG_ISENABLED(mc_dpor, xbt_log_priority_debug)){
-              XBT_DEBUG("Dependent Transitions:");
-              prev_req = MC_state_get_executed_request(prev_state->graph_state, &value);
-              req_str = MC_request_to_string(prev_req, value);
-              XBT_DEBUG("%s (state=%p)", req_str, prev_state->graph_state);
-              xbt_free(req_str);
-              prev_req = MC_state_get_executed_request(current_state->graph_state, &value);
-              req_str = MC_request_to_string(prev_req, value);
-              XBT_DEBUG("%s (state=%p)", req_str, current_state->graph_state);
-              xbt_free(req_str);              
-            }
-
-            if(!MC_state_process_is_done(prev_state->graph_state, req->issuer)){
-              MC_state_interleave_process(prev_state->graph_state, req->issuer);
-        
-            } else {
-              XBT_DEBUG("Process %p is in done set", req->issuer);
-            }
-
-            break;
-          }
-        }
-
-        if(MC_state_interleave_size(current_state->graph_state)){
-          MC_restore_snapshot(current_state->system_state);
-          xbt_fifo_unshift(mc_stack_safety_stateful, current_state);
-          XBT_DEBUG("Back-tracking to depth %d", xbt_fifo_size(mc_stack_safety_stateful));
-          MC_UNSET_RAW_MEM;
-          break;
-        }
-      }
-
-      MC_UNSET_RAW_MEM;
-
-    } 
-  }
-  MC_UNSET_RAW_MEM;
-  return;
-}
-
 
 
index f55b44f..211f26b 100644 (file)
@@ -27,8 +27,7 @@ mc_snapshot_t initial_snapshot = NULL;
 
 /* Safety */
 
-xbt_fifo_t mc_stack_safety_stateful = NULL;
-xbt_fifo_t mc_stack_safety_stateless = NULL;
+xbt_fifo_t mc_stack_safety = NULL;
 mc_stats_t mc_stats = NULL;
 
 /* Liveness */
@@ -46,7 +45,7 @@ static void MC_assert_pair(int prop);
 /**
  *  \brief Initialize the model-checker data structures
  */
-void MC_init_safety_stateless(void)
+void MC_init_safety(void)
 {
 
   /* Check if MC is already initialized */
@@ -64,7 +63,7 @@ void MC_init_safety_stateless(void)
   mc_stats->state_size = 1;
 
   /* Create exploration stack */
-  mc_stack_safety_stateless = xbt_fifo_new();
+  mc_stack_safety = xbt_fifo_new();
 
   MC_UNSET_RAW_MEM;
 
@@ -75,35 +74,10 @@ void MC_init_safety_stateless(void)
   initial_snapshot = xbt_new0(s_mc_snapshot_t, 1);
   MC_take_snapshot(initial_snapshot);
   MC_UNSET_RAW_MEM;
-}
-
-void MC_init_safety_stateful(void){
-
-  
-  /* Check if MC is already initialized */
-  if (initial_snapshot)
-    return;
-
-  mc_time = xbt_new0(double, simix_process_maxpid);
-
-  /* Initialize the data structures that must be persistent across every
-     iteration of the model-checker (in RAW memory) */
-  MC_SET_RAW_MEM;
-
-  /* Initialize statistics */
-  mc_stats = xbt_new0(s_mc_stats_t, 1);
-  mc_stats->state_size = 1;
-
-  /* Create exploration stack */
-  mc_stack_safety_stateful = xbt_fifo_new();
-
-  MC_UNSET_RAW_MEM;
-
-  MC_dpor_stateful_init();
-
 
 }
 
+
 static void MC_init_liveness(xbt_automaton_t a){
 
   XBT_DEBUG("Start init mc");
@@ -135,17 +109,11 @@ static void MC_init_liveness(xbt_automaton_t a){
 
 void MC_modelcheck(void)
 {
-  MC_init_safety_stateless();
+  MC_init_safety();
   MC_dpor();
   MC_exit();
 }
 
-void MC_modelcheck_stateful(void)
-{
-  MC_init_safety_stateful();
-  MC_dpor_stateful();
-  MC_exit();
-}
 
 
 void MC_modelcheck_liveness(xbt_automaton_t a){
@@ -213,28 +181,39 @@ int MC_deadlock_check()
 }
 
 /**
- * \brief Re-executes from the initial state all the transitions indicated by
+ * \brief Re-executes from the state at position start all the transitions indicated by
  *        a given model-checker stack.
  * \param stack The stack with the transitions to execute.
+ * \param start Start index to begin the re-execution.
  */
-void MC_replay(xbt_fifo_t stack)
+void MC_replay(xbt_fifo_t stack, int start)
 {
-  int value;
+  int value, i = 1;
   char *req_str;
   smx_simcall_t req = NULL, saved_req = NULL;
-  xbt_fifo_item_t item;
+  xbt_fifo_item_t item, start_item;
   mc_state_t state;
 
   XBT_DEBUG("**** Begin Replay ****");
 
-  /* Restore the initial state */
-  MC_restore_snapshot(initial_snapshot);
-  /* At the moment of taking the snapshot the raw heap was set, so restoring
-   * it will set it back again, we have to unset it to continue  */
-  MC_UNSET_RAW_MEM;
+  if(start == -1){
+    /* Restore the initial state */
+    MC_restore_snapshot(initial_snapshot);
+    /* At the moment of taking the snapshot the raw heap was set, so restoring
+     * it will set it back again, we have to unset it to continue  */
+    MC_UNSET_RAW_MEM;
+  }
 
-  /* Traverse the stack from the initial state and re-execute the transitions */
-  for (item = xbt_fifo_get_last_item(stack);
+  start_item = xbt_fifo_get_last_item(stack);
+  if(start != -1){
+    while (i != start){
+      start_item = xbt_fifo_get_prev_item(start_item);
+      i++;
+    }
+  }
+
+  /* Traverse the stack from the state at position start and re-execute the transitions */
+  for (item = start_item;
        item != xbt_fifo_get_first_item(stack);
        item = xbt_fifo_get_prev_item(item)) {
 
@@ -367,26 +346,30 @@ void MC_replay_liveness(xbt_fifo_t stack, int all_stack)
   XBT_DEBUG("**** End Replay ****");
 }
 
-
 /**
  * \brief Dumps the contents of a model-checker's stack and shows the actual
  *        execution trace
  * \param stack The stack to dump
  */
-void MC_dump_stack_safety_stateless(xbt_fifo_t stack)
+void MC_dump_stack_safety(xbt_fifo_t stack)
 {
-  mc_state_t state;
 
-  MC_show_stack_safety_stateless(stack);
+  MC_show_stack_safety(stack);
 
-  MC_SET_RAW_MEM;
-  while ((state = (mc_state_t) xbt_fifo_pop(stack)) != NULL)
-    MC_state_delete(state);
-  MC_UNSET_RAW_MEM;
+  if(!_surf_do_mc_checkpoint){
+
+    mc_state_t state;
+
+    MC_SET_RAW_MEM;
+    while ((state = (mc_state_t) xbt_fifo_pop(stack)) != NULL)
+      MC_state_delete(state);
+    MC_UNSET_RAW_MEM;
+
+  }
 }
 
 
-void MC_show_stack_safety_stateless(xbt_fifo_t stack)
+void MC_show_stack_safety(xbt_fifo_t stack)
 {
   int value;
   mc_state_t state;
@@ -417,54 +400,7 @@ void MC_show_deadlock(smx_simcall_t req)
     XBT_INFO("%s", req_str);
     xbt_free(req_str);*/
   XBT_INFO("Counter-example execution trace:");
-  MC_dump_stack_safety_stateless(mc_stack_safety_stateless);
-}
-
-void MC_show_deadlock_stateful(smx_simcall_t req)
-{
-  /*char *req_str = NULL;*/
-  XBT_INFO("**************************");
-  XBT_INFO("*** DEAD-LOCK DETECTED ***");
-  XBT_INFO("**************************");
-  XBT_INFO("Locked request:");
-  /*req_str = MC_request_to_string(req);
-    XBT_INFO("%s", req_str);
-    xbt_free(req_str);*/
-  XBT_INFO("Counter-example execution trace:");
-  MC_show_stack_safety_stateful(mc_stack_safety_stateful);
-}
-
-void MC_dump_stack_safety_stateful(xbt_fifo_t stack)
-{
-  //mc_state_ws_t state;
-
-  MC_show_stack_safety_stateful(stack);
-
-  /*MC_SET_RAW_MEM;
-    while ((state = (mc_state_t) xbt_fifo_pop(stack)) != NULL)
-    MC_state_delete(state);
-    MC_UNSET_RAW_MEM;*/
-}
-
-
-void MC_show_stack_safety_stateful(xbt_fifo_t stack)
-{
-  int value;
-  mc_state_ws_t state;
-  xbt_fifo_item_t item;
-  smx_simcall_t req;
-  char *req_str = NULL;
-  
-  for (item = xbt_fifo_get_last_item(stack);
-       (item ? (state = (mc_state_ws_t) (xbt_fifo_get_item_content(item)))
-        : (NULL)); item = xbt_fifo_get_prev_item(item)) {
-    req = MC_state_get_executed_request(state->graph_state, &value);
-    if(req){
-      req_str = MC_request_to_string(req, value);
-      XBT_INFO("%s", req_str);
-      xbt_free(req_str);
-    }
-  }
+  MC_dump_stack_safety(mc_stack_safety);
 }
 
 
@@ -531,26 +467,12 @@ void MC_assert(int prop)
     XBT_INFO("*** PROPERTY NOT VALID ***");
     XBT_INFO("**************************");
     XBT_INFO("Counter-example execution trace:");
-    MC_dump_stack_safety_stateless(mc_stack_safety_stateless);
+    MC_dump_stack_safety(mc_stack_safety);
     MC_print_statistics(mc_stats);
     xbt_abort();
   }
 }
 
-void MC_assert_stateful(int prop)
-{
-  if (MC_IS_ENABLED && !prop) {
-    XBT_INFO("**************************");
-    XBT_INFO("*** PROPERTY NOT VALID ***");
-    XBT_INFO("**************************");
-    XBT_INFO("Counter-example execution trace:");
-    MC_dump_stack_safety_stateful(mc_stack_safety_stateful);
-    MC_print_statistics(mc_stats);
-    xbt_abort();
-  }
-}
-
-
 static void MC_assert_pair(int prop){
   if (MC_IS_ENABLED && !prop) {
     XBT_INFO("**************************");
index b088e88..9a0ee71 100644 (file)
@@ -49,16 +49,13 @@ extern double *mc_time;
 #define MAX_DEPTH_LIVENESS 500
 
 int MC_deadlock_check(void);
-void MC_replay(xbt_fifo_t stack);
+void MC_replay(xbt_fifo_t stack, int start);
 void MC_replay_liveness(xbt_fifo_t stack, int all_stack);
 void MC_wait_for_requests(void);
 void MC_get_enabled_processes();
 void MC_show_deadlock(smx_simcall_t req);
-void MC_show_deadlock_stateful(smx_simcall_t req);
-void MC_show_stack_safety_stateless(xbt_fifo_t stack);
-void MC_dump_stack_safety_stateless(xbt_fifo_t stack);
-void MC_show_stack_safety_stateful(xbt_fifo_t stack);
-void MC_dump_stack_safety_stateful(xbt_fifo_t stack);
+void MC_show_stack_safety(xbt_fifo_t stack);
+void MC_dump_stack_safety(xbt_fifo_t stack);
 
 /********************************* Requests ***********************************/
 int MC_request_depend(smx_simcall_t req1, smx_simcall_t req2);
@@ -95,6 +92,7 @@ typedef struct mc_state {
   s_smx_simcall_t executed_req;         /* The executed request of the state */
   int req_num;                      /* The request number (in the case of a
                                        multi-request like waitany ) */
+  mc_snapshot_t system_state;      /* Snapshot of system state */
 } s_mc_state_t, *mc_state_t;
 
 extern xbt_fifo_t mc_stack_safety_stateless;
@@ -183,26 +181,12 @@ typedef struct s_memory_map {
 memory_map_t get_memory_map(void);
 
 
-/********************************** DPOR for safety (stateless) **************************************/
+/********************************** DPOR for safety  **************************************/
+
 void MC_dpor_init(void);
 void MC_dpor(void);
 void MC_dpor_exit(void);
-
-/***** DPOR for safety (stateful) **** */
-
-typedef struct s_mc_state_with_snapshot{
-  mc_snapshot_t system_state;
-  mc_state_t graph_state;
-}s_mc_state_ws_t, *mc_state_ws_t;
-
-extern xbt_fifo_t mc_stack_safety_stateful;
-
-void MC_init_stateful(void);
-void MC_modelcheck_stateful(void);
-mc_state_ws_t new_state_ws(mc_snapshot_t s, mc_state_t gs);
-void MC_dpor_stateful_init(void);
-void MC_dpor_stateful(void);
-void MC_exit_stateful(void);
+void MC_init_safety(void);
 
 
 /********************************** Double-DFS for liveness property**************************************/
@@ -283,5 +267,10 @@ void MC_show_stack_liveness(xbt_fifo_t stack);
 void MC_dump_stack_liveness(xbt_fifo_t stack);
 void MC_pair_stateless_delete(mc_pair_stateless_t pair);
 
+/********************************** Configuration of MC **************************************/
+
+extern int _surf_do_mc_checkpoint;
+extern xbt_fifo_t mc_stack_safety;
+
 
 #endif
index 858cc93..822d17a 100644 (file)
 /**
  * \brief Creates a state data structure used by the exploration algorithm
  */
-mc_state_t MC_state_new(void)
+mc_state_t MC_state_new()
 {
   mc_state_t state = NULL;
   
   state = xbt_new0(s_mc_state_t, 1);
   state->max_pid = simix_process_maxpid;
   state->proc_status = xbt_new0(s_mc_procstate_t, state->max_pid);
-  
+  state->system_state = NULL;
+
   mc_stats->expanded_states++;
   return state;
 }
index 555f8aa..879461f 100644 (file)
@@ -21,19 +21,12 @@ MSG_Global_t msg_global = NULL;
 
 /********************************* MSG **************************************/
 
-/** \ingroup msg_simulation
- * \brief Initialize some MSG internal data.
+/* @brief Initialize MSG with less verifications
+ *
+ * You should use the MSG_init() function instead. Failing to do so may turn into PEBKAC some day. You've been warned.
  */
-void MSG_global_init_args(int *argc, char **argv)
-{
-  MSG_global_init(argc, argv);
-}
+void MSG_init_nocheck(int *argc, char **argv) {
 
-/** \ingroup msg_simulation
- * \brief Initialize some MSG internal data.
- */
-void MSG_global_init(int *argc, char **argv)
-{
 #ifdef HAVE_TRACING
   TRACE_global_init(argc, argv);
 #endif
@@ -68,7 +61,6 @@ void MSG_global_init(int *argc, char **argv)
 
   XBT_DEBUG("ADD MSG LEVELS");
   MSG_HOST_LEVEL = xbt_lib_add_level(host_lib, (void_f_pvoid_t) __MSG_host_destroy);
-
 }
 
 #ifdef MSG_USE_DEPRECATED
@@ -125,21 +117,6 @@ MSG_error_t MSG_main(void)
   return MSG_OK;
 }
 
-MSG_error_t MSG_main_stateful(void)
-{
-  /* Clean IO before the run */
-  fflush(stdout);
-  fflush(stderr);
-
-  if (MC_IS_ENABLED) {
-    MC_modelcheck_stateful();
-  }
-  else {
-    SIMIX_run();
-  }
-  return MSG_OK;
-}
-
 
 MSG_error_t MSG_main_liveness(xbt_automaton_t a)
 {
index ed8ffc8..68e2cb7 100644 (file)
@@ -151,9 +151,6 @@ MSG_error_t MSG_parallel_task_execute(m_task_t task)
   }
   CATCH(e) {
     switch (e.category) {
-    case host_error:
-      status = MSG_HOST_FAILURE;
-      break;
     case cancel_error:
       status = MSG_TASK_CANCELED;
       break;
@@ -184,7 +181,6 @@ MSG_error_t MSG_parallel_task_execute(m_task_t task)
  */
 MSG_error_t MSG_process_sleep(double nb_sec)
 {
-  xbt_ex_t e;
   MSG_error_t status = MSG_OK;
   /*m_process_t proc = MSG_process_self();*/
 
@@ -200,22 +196,7 @@ MSG_error_t MSG_process_sleep(double nb_sec)
   
   proc->simdata->waiting_action = NULL;*/
 
-  TRY {
-    simcall_process_sleep(nb_sec);  
-  }
-  CATCH(e) {
-    switch (e.category) {
-      case host_error:
-        #ifdef HAVE_TRACING
-          TRACE_msg_process_sleep_out(MSG_process_self());
-        #endif
-          status = MSG_HOST_FAILURE;
-      break;
-      default:
-        RETHROW;
-    }
-    xbt_ex_free(e);
-  }
+  simcall_process_sleep(nb_sec);
 
   #ifdef HAVE_TRACING
     TRACE_msg_process_sleep_out(MSG_process_self());
@@ -494,12 +475,6 @@ int MSG_comm_test(msg_comm_t comm)
   }
   CATCH(e) {
     switch (e.category) {
-
-      case host_error:
-        comm->status = MSG_HOST_FAILURE;
-        finished = 1;
-        break;
-
       case network_error:
         comm->status = MSG_TRANSFER_FAILURE;
         finished = 1;
@@ -545,12 +520,6 @@ int MSG_comm_testany(xbt_dynar_t comms)
   }
   CATCH(e) {
     switch (e.category) {
-
-      case host_error:
-        finished_index = e.value;
-        status = MSG_HOST_FAILURE;
-        break;
-
       case network_error:
         finished_index = e.value;
         status = MSG_TRANSFER_FAILURE;
@@ -615,9 +584,6 @@ MSG_error_t MSG_comm_wait(msg_comm_t comm, double timeout)
   }
   CATCH(e) {
     switch (e.category) {
-    case host_error:
-      comm->status = MSG_HOST_FAILURE;
-      break;
     case network_error:
       comm->status = MSG_TRANSFER_FAILURE;
       break;
@@ -673,12 +639,6 @@ int MSG_comm_waitany(xbt_dynar_t comms)
   }
   CATCH(e) {
     switch (e.category) {
-
-      case host_error:
-        finished_index = e.value;
-        status = MSG_HOST_FAILURE;
-        break;
-
       case network_error:
         finished_index = e.value;
         status = MSG_TRANSFER_FAILURE;
index 997b138..44e062e 100644 (file)
@@ -86,9 +86,6 @@ MSG_mailbox_get_task_ext(msg_mailbox_t mailbox, m_task_t * task,
   }
   CATCH(e) {
     switch (e.category) {
-    case host_error:
-      ret = MSG_HOST_FAILURE;
-      break;
     case network_error:
       ret = MSG_TRANSFER_FAILURE;
       break;
index 815d947..32fd765 100644 (file)
@@ -348,7 +348,8 @@ void SIMIX_execution_finish(smx_action_t action)
 
       case SIMIX_FAILED:
         XBT_DEBUG("SIMIX_execution_finished: host '%s' failed", simcall->issuer->smx_host->name);
-        SMX_EXCEPTION(simcall->issuer, host_error, 0, "Host failed");
+        simcall->issuer->context->iwannadie = 1;
+        //SMX_EXCEPTION(simcall->issuer, host_error, 0, "Host failed");
         break;
 
       case SIMIX_CANCELED:
@@ -360,7 +361,7 @@ void SIMIX_execution_finish(smx_action_t action)
         xbt_die("Internal error in SIMIX_execution_finish: unexpected action state %d",
             (int)action->state);
     }
-    simcall->issuer->waiting_action = NULL;
+    simcall->issuer->waiting_action =    NULL;
     simcall->host_execution_wait.result = action->state;
     SIMIX_simcall_answer(simcall);
   }
index 28937f4..0d7257f 100644 (file)
@@ -589,14 +589,16 @@ void SIMIX_comm_finish(smx_action_t action)
 
       case SIMIX_SRC_HOST_FAILURE:
         if (simcall->issuer == action->comm.src_proc)
-          SMX_EXCEPTION(simcall->issuer, host_error, 0, "Host failed");
+          simcall->issuer->context->iwannadie = 1;
+//          SMX_EXCEPTION(simcall->issuer, host_error, 0, "Host failed");
         else
           SMX_EXCEPTION(simcall->issuer, network_error, 0, "Remote peer failed");
         break;
 
       case SIMIX_DST_HOST_FAILURE:
         if (simcall->issuer == action->comm.dst_proc)
-          SMX_EXCEPTION(simcall->issuer, host_error, 0, "Host failed");
+          simcall->issuer->context->iwannadie = 1;
+//          SMX_EXCEPTION(simcall->issuer, host_error, 0, "Host failed");
         else
           SMX_EXCEPTION(simcall->issuer, network_error, 0, "Remote peer failed");
         break;
index 0020a7a..1d35e54 100644 (file)
@@ -584,7 +584,8 @@ void SIMIX_post_process_sleep(smx_action_t action)
 
     switch(surf_workstation_model->action_state_get(action->sleep.surf_sleep)){
       case SURF_ACTION_FAILED:
-       SMX_EXCEPTION(simcall->issuer, host_error, 0, "Host failed");
+        simcall->issuer->context->iwannadie = 1;
+        //SMX_EXCEPTION(simcall->issuer, host_error, 0, "Host failed");
         break;
 
       case SURF_ACTION_DONE:
@@ -595,9 +596,14 @@ void SIMIX_post_process_sleep(smx_action_t action)
         THROW_IMPOSSIBLE;
         break;
     }
+    if (surf_workstation_model->extension.
+        workstation.get_state(simcall->issuer->smx_host->host) != SURF_RESOURCE_ON) {
+      simcall->issuer->context->iwannadie = 1;
+    }
     simcall->process_sleep.result = state;
     simcall->issuer->waiting_action = NULL;
     SIMIX_simcall_answer(simcall);
+
   }
   SIMIX_process_sleep_destroy(action);
 }
index 4847470..203feba 100644 (file)
@@ -376,10 +376,6 @@ void sg_version(int *ver_major,int *ver_minor,int *ver_patch) {
 
 void surf_init(int *argc, char **argv)
 {
-
-  XBT_DEBUG("Check that compile time version matches link-time one");
-  sg_check_version();
-
   XBT_DEBUG("Create all Libs");
   host_lib = xbt_lib_new();
   link_lib = xbt_lib_new();
index bfd39e1..beb79a6 100644 (file)
@@ -1,7 +1,6 @@
 /* methods for implementation of automaton from promela description */
 
-/* Copyright (c) 2011. The SimGrid Team.
- * All rights reserved.                                                     */
+/* Copyright (c) 2011-2012. The SimGrid Team. All rights reserved.          */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
@@ -19,7 +18,7 @@ void new_state(char* id, int src){
 
   char* id_state = strdup(id);
   char* first_part = strtok(id,"_");
-  int type = 0 ; // -1=état initial, 0=état intermédiaire, 1=état final
+  int type = 0 ; // -1=initial state; 0=intermediate state; 1=final state
 
   if(strcmp(first_part,"accept")==0){
     type = 1;
index 6a766c5..705e9dc 100644 (file)
@@ -36,7 +36,7 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
 
   /*   Application deployment */
   MSG_function_register("send", &send);
index 9556b41..396dda2 100644 (file)
@@ -53,7 +53,7 @@ int main(int argc, char *argv[])
   MSG_error_t res = MSG_OK;
 
   /* Verify if the platform xml file was passed by command line. */
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   if (argc < 2) {
     printf("Usage: %s test_trace_integration_model.xml\n", argv[0]);
     exit(1);
index 293aa6e..7804aec 100644 (file)
@@ -25,7 +25,7 @@ int main(int argc, char **argv)
   int res;
   xbt_dynar_t all_hosts;
   m_host_t first_host;
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
   MSG_create_environment(argv[1]);
   MSG_function_register("host", host);
   all_hosts = MSG_hosts_as_dynar();
index b418639..ae54a73 100644 (file)
@@ -18,7 +18,7 @@ int main(int argc, char **argv)
 {
   XBT_LOG_CONNECT(graphicator);
 #ifdef HAVE_TRACING
-  MSG_global_init(&argc, argv);
+  MSG_init(&argc, argv);
 
   if (argc < 3){
     XBT_INFO("Usage: %s <platform_file.xml> <graphviz_file.dot>", argv[0]);