RosettaCodeData/Task/Events/Elixir/events.elixir

27 lines
455 B
Plaintext

defmodule Events do
def log(msg) do
{h,m,s} = :erlang.time
:io.fwrite("~2.B:~2.B:~2.B => ~s~n",[h,m,s,msg])
end
def task do
log("Task start")
receive do
:go -> :ok
end
log("Task resumed")
end
def main do
log("Program start")
pid = spawn(Events,:task,[])
log("Program sleeping")
:timer.sleep(1000)
log("Program signalling event")
send(pid, :go)
:timer.sleep(100)
end
end
Events.main