summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/rabbitmq_prelaunch/src/rabbit_prelaunch_sighandler.erl19
1 files changed, 12 insertions, 7 deletions
diff --git a/apps/rabbitmq_prelaunch/src/rabbit_prelaunch_sighandler.erl b/apps/rabbitmq_prelaunch/src/rabbit_prelaunch_sighandler.erl
index a6b5d3c2f7..12716a31fb 100644
--- a/apps/rabbitmq_prelaunch/src/rabbit_prelaunch_sighandler.erl
+++ b/apps/rabbitmq_prelaunch/src/rabbit_prelaunch_sighandler.erl
@@ -36,14 +36,19 @@
-define(SERVER, erl_signal_server).
setup() ->
- case whereis(?SERVER) of
- undefined ->
- ok;
+ case os:type() of
+ {unix, _} ->
+ case whereis(?SERVER) of
+ undefined ->
+ ok;
+ _ ->
+ case lists:member(?MODULE, gen_event:which_handlers(?SERVER)) of
+ true -> ok;
+ false -> gen_event:add_handler(?SERVER, ?MODULE, [])
+ end
+ end;
_ ->
- case lists:member(?MODULE, gen_event:which_handlers(?SERVER)) of
- true -> ok;
- false -> gen_event:add_handler(?SERVER, ?MODULE, [])
- end
+ ok
end.
init(_Args) ->