From 97ad4becdbe302f120b598fb84d1bcfcc1a17576 Mon Sep 17 00:00:00 2001 From: Linus Nordberg Date: Fri, 12 Jun 2015 15:04:02 +0200 Subject: Allow ht:load_tree() 30 seconds to finish. Default 5 seconds was not enough on a tree with around 5.2M entries. --- src/ht.erl | 6 +++--- src/stacktrace.erl | 9 ++++++--- 2 files changed, 9 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/ht.erl b/src/ht.erl index 0e00440..5d56bad 100644 --- a/src/ht.erl +++ b/src/ht.erl @@ -35,7 +35,7 @@ code_change/3]). -export([testing_get_state/0, print_tree/0, print_tree/1]). --import(stacktrace, [call/2]). +-import(stacktrace, [call/2, call/3]). -include_lib("eunit/include/eunit.hrl"). -import(lists, [foreach/2, foldl/3, reverse/1]). @@ -55,9 +55,9 @@ start_link() -> start_link(NEntries) -> gen_server:start_link({local, ?MODULE}, ?MODULE, [NEntries], []). reset_tree(Arg) -> - gen_server:call(?MODULE, {reset_tree, Arg}, infinity). + call(?MODULE, {reset_tree, Arg}, infinity). load_tree(Version) -> - case call(?MODULE, {load_tree, Version}) of + case call(?MODULE, {load_tree, Version}, 30000) of eagain -> load_tree(Version); Result -> diff --git a/src/stacktrace.erl b/src/stacktrace.erl index 3de4772..39245e1 100644 --- a/src/stacktrace.erl +++ b/src/stacktrace.erl @@ -1,11 +1,14 @@ -%%% Copyright (c) 2014, NORDUnet A/S. +%%% Copyright (c) 2014-2015, NORDUnet A/S. %%% See LICENSE for licensing information. -module(stacktrace). --export([call/2]). +-export([call/2, call/3]). call(Name, Request) -> - Result = (catch gen_server:call(Name, Request)), + call(Name, Request, 5000). + +call(Name, Request, Timeout) -> + Result = (catch gen_server:call(Name, Request, Timeout)), case Result of {'EXIT', {timeout, Details}} -> {current_stacktrace, Stacktrace} = -- cgit v1.1