%%% Copyright (c) 2014, NORDUnet A/S. %%% See LICENSE for licensing information. -module(stacktrace). -export([call/2]). call(Name, Request) -> Result = (catch gen_server:call(Name, Request)), case Result of {'EXIT', {timeout, Details}} -> {current_stacktrace, Stacktrace} = erlang:process_info(whereis(Name), current_stacktrace), lager:error("~p: timeout ~p: ~p", [Name, Details, Stacktrace]), throw(Result); _ -> none end, Result.