diff options
| author | Jean-Sébastien Pédron <jean-sebastien@rabbitmq.com> | 2020-02-24 11:27:35 +0100 |
|---|---|---|
| committer | Jean-Sébastien Pédron <jean-sebastien@rabbitmq.com> | 2020-02-24 11:27:35 +0100 |
| commit | 187bcb6b5c988a1daec3674d3cd7ade6d0dbd63a (patch) | |
| tree | e4f95917e066191a58d62b2d544abb8b29fe3826 /apps | |
| parent | 227e69480c22fdea58d5c388ec98ecc8ecd4e8ec (diff) | |
| download | rabbitmq-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.erl | 19 |
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) -> |
