summaryrefslogtreecommitdiff
path: root/src/rabbit.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/rabbit.erl')
-rw-r--r--src/rabbit.erl11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl
index 0bf6d47700..41a54ba36c 100644
--- a/src/rabbit.erl
+++ b/src/rabbit.erl
@@ -386,10 +386,9 @@ maybe_sd_notify() ->
end.
sd_notify_ready() ->
- case {os:type(), os:getenv("NOTIFY_SOCKET")} of
- {{win32, _}, _} ->
- true;
- {_, [_|_]} -> %% Non-empty NOTIFY_SOCKET, give it a try
+ case rabbit_prelaunch:get_context() of
+ #{systemd_notify_socket := Socket} when Socket =/= undefined ->
+ %% Non-empty NOTIFY_SOCKET, give it a try
sd_notify_legacy() orelse sd_notify_socat();
_ ->
true
@@ -432,9 +431,11 @@ socat_socket_arg(UnixSocket) ->
"unix-sendto:" ++ UnixSocket.
sd_open_port() ->
+ #{systemd_notify_socket := Socket} = rabbit_prelaunch:get_context(),
+ true = Socket =/= undefined,
open_port(
{spawn_executable, os:find_executable("socat")},
- [{args, [socat_socket_arg(os:getenv("NOTIFY_SOCKET")), "STDIO"]},
+ [{args, [socat_socket_arg(Socket), "STDIO"]},
use_stdio, out]).
sd_notify_socat(Unit) ->