Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
python: test Actor.is_suspended() and introduce this_actor.error
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Tue, 8 Jan 2019 05:37:28 +0000 (06:37 +0100)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Tue, 8 Jan 2019 05:37:28 +0000 (06:37 +0100)
examples/python/actor-suspend/actor-suspend.py
src/bindings/python/simgrid_python.cpp

index e3036ed..e433b7f 100644 (file)
@@ -32,7 +32,10 @@ def dream_master():
     this_actor.info("Let's wait a little bit...")
     this_actor.sleep_for(10) # Wait for 10 seconds
     this_actor.info("Let's wake the lazy guy up! >:) BOOOOOUUUHHH!!!!")
-    lazy.resume() # Then wake up the lazy_guy 
+    if lazy.is_suspended():
+        lazy.resume() # Then wake up the lazy_guy
+    else:
+        this_actor.error("I was thinking that the lazy guy would be suspended now") 
 
     this_actor.sleep_for(5) # Repeat two times:
     this_actor.info("Suspend the lazy guy while he's sleeping...")
index 1a02f46..2c0c154 100644 (file)
@@ -56,6 +56,7 @@ PYBIND11_MODULE(simgrid, m)
 
   py::module m2 = m.def_submodule("this_actor", "Bindings of the s4u::this_actor namespace.");
   m2.def("info", [](char* s) { XBT_INFO("%s", s); }, "Display a logging message of default priority.");
+  m2.def("error", [](char* s) { XBT_ERROR("%s", s); }, "Display a logging message of 'error' priority.");
   m2.def("execute", py::overload_cast<double, double>(&simgrid::s4u::this_actor::execute),
          "Block the current actor, computing the given amount of flops at the given priority, see :cpp:func:`void "
          "simgrid::s4u::this_actor::execute(double, double)`",