summaryrefslogtreecommitdiff
path: root/erlang/monitor_translate.erl
diff options
context:
space:
mode:
Diffstat (limited to 'erlang/monitor_translate.erl')
-rw-r--r--erlang/monitor_translate.erl16
1 files changed, 16 insertions, 0 deletions
diff --git a/erlang/monitor_translate.erl b/erlang/monitor_translate.erl
new file mode 100644
index 0000000..03e4bfe
--- /dev/null
+++ b/erlang/monitor_translate.erl
@@ -0,0 +1,16 @@
+-module(monitor_translate).
+-export([loop/0]).
+
+loop() ->
+ process_flag(trap_exit, true),
+ receive
+ new ->
+ io:format("Starting translator.~n"),
+ register(translator, spawn_link(translate_service, loop, [])),
+ loop();
+ {'EXIT', From, Reason} ->
+ io:format("Translator ~p died with reason ~p, restarting.~n",
+ [From, Reason]),
+ self() ! new,
+ loop()
+ end.