Handle a signal: Difference between revisions

Content added Content deleted
(Handle a signal en FreeBASIC)
(add erlang (escript) implementation)
Line 533: Line 533:
9
9
Program has run for 5 secs, 4 ms, 357 ╬╝s, and 4 hnsecs</pre>
Program has run for 5 secs, 4 ms, 357 ╬╝s, and 4 hnsecs</pre>

=={{header|Erlang|escript}}==

<lang Erlang>#! /usr/bin/env escript

main([]) ->
erlang:unregister(erl_signal_server),
erlang:register(erl_signal_server, self()),
Start = seconds(),
os:set_signal(sigquit, handle),
Pid = spawn(fun() -> output_loop(1) end),
receive
{notify, sigquit} ->
erlang:exit(Pid, normal),
Seconds = seconds() - Start,
io:format("Program has run for ~b seconds~n", [Seconds])
end.

seconds() ->
calendar:datetime_to_gregorian_seconds({date(),time()}).

output_loop(N) ->
io:format("~b~n",[N]),
timer:sleep(500),
output_loop(N + 1).
</lang>


=={{header|F_Sharp|F#}}==
=={{header|F_Sharp|F#}}==