Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix lua platform script
[simgrid.git] / examples / lua / console / slave.lua
index 1c77467..2073530 100644 (file)
@@ -3,23 +3,29 @@
 -- Slave Function ---------------------------------------------------------
 function Slave(...)
 
 -- Slave Function ---------------------------------------------------------
 function Slave(...)
 
-local my_mailbox="slave "..arg[1]
-simgrid.info("Hello from lua, I'm a poor slave with mbox: "..my_mailbox)
+  if #arg ~= 1 then
+    error("Wrong number of arguments (got " .. #arg .. ", expected 1: slave_id)")
+  end
 
 
-while true do
+  local my_mailbox = "slave " .. arg[1]
+  simgrid.info("Hello from lua, I'm a poor slave with mbox: " .. my_mailbox)
 
 
-  local tk = simgrid.task.recv(my_mailbox);
-  if (simgrid.task.get_name(tk) == "finalize") then
-    simgrid.info("Slave '" ..my_mailbox.."' got finalize msg");
-    break
-  end
-  --local tk_name = simgrid.task.get_name(tk) 
-  simgrid.info("Slave '" ..my_mailbox.."' processing "..simgrid.task.get_name(tk))
-  simgrid.task.execute(tk)
-  simgrid.info("Slave '" ..my_mailbox.."': task "..simgrid.task.get_name(tk) .. " done")
-end -- while
+  while true do
+
+    local task = simgrid.task.recv(my_mailbox);
+    --print(task)
+    local task_name = task:get_name()
+    if (task_name == "finalize") then
+      simgrid.info("Slave '" .. my_mailbox .. "' got finalize msg");
+      break
+    end
+    --local tk_name = simgrid.task.get_name(tk) 
+    simgrid.info("Slave '" .. my_mailbox .. "' processing " .. task_name)
+    simgrid.task.execute(task)
+    simgrid.info("Slave '"  .. my_mailbox .. "': task " .. task_name .. " done")
+  end -- while
 
 
-simgrid.info("Slave '" ..my_mailbox.."': I'm Done . See You !!");
+  simgrid.info("Slave '" .. my_mailbox .. "': I'm Done . See You !!");
 
 end 
 -- end_of_slave
 
 end 
 -- end_of_slave