Packages

Distributed Pub/Sub system and presence tracking system.

Current section

Files

Jump to
combo_pubsub lib combo tracker shutdown_handler.ex
Raw

lib/combo/tracker/shutdown_handler.ex

defmodule Combo.Tracker.ShutdownHandler do
@moduledoc false
use GenServer
def start_link(tracker) do
GenServer.start_link(__MODULE__, tracker, name: __MODULE__)
end
@impl GenServer
def init(tracker) do
Process.flag(:trap_exit, true)
{:ok, tracker}
end
@impl GenServer
def terminate(_reason, tracker) do
Combo.Tracker.graceful_permdown(tracker)
:ok
end
end