summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2020-02-24 11:27:35 +0100
committerJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2020-02-24 11:27:35 +0100
commit187bcb6b5c988a1daec3674d3cd7ade6d0dbd63a (patch)
treee4f95917e066191a58d62b2d544abb8b29fe3826 /apps
parent227e69480c22fdea58d5c388ec98ecc8ecd4e8ec (diff)
downloadrabbitmq-server-git-187bcb6b5c988a1daec3674d3cd7ade6d0dbd63a.tar.gz
rabbitmq_prelaunch: Skip signal handler on Windows
This is specific to Unix, and `os:set_signal()` reminded it to me with a `badarg` exception. [#171234776]
Diffstat (limited to 'apps')
-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) ->