summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2009-12-18 17:21:43 +0000
committerMatthew Sackman <matthew@lshift.net>2009-12-18 17:21:43 +0000
commit7e533199d0d190896c4c2614b78cbbdd0d8314f1 (patch)
tree6378ab528b75bba59986495927ca3db6b71c8c02
parent4b9976db82880cb3cdba8d37509223e5606db60e (diff)
downloadrabbitmq-server-git-7e533199d0d190896c4c2614b78cbbdd0d8314f1.tar.gz
support insomniation
-rw-r--r--src/gen_server2.erl4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gen_server2.erl b/src/gen_server2.erl
index 53edf8deef..c725082724 100644
--- a/src/gen_server2.erl
+++ b/src/gen_server2.erl
@@ -126,6 +126,7 @@
%%% handle_pre_hibernate(State)
%%%
%%% ==> {hibernate, State}
+%%% {insomniate, State}
%%% {stop, Reason, State}
%%% Reason = normal | shutdown | Term, terminate(State) is called
%%%
@@ -545,6 +546,9 @@ pre_hibernate(Parent, Name, State, Mod, TimeoutState, Queue, Debug) ->
{hibernate, NState} ->
hibernate(Parent, Name, NState, Mod, TimeoutState, Queue,
Debug);
+ {insomniate, NState} ->
+ process_next_msg(Parent, Name, NState, Mod, hibernate,
+ TimeoutState, Queue, Debug);
Reply ->
handle_common_termination(Reply, Name, pre_hibernate,
Mod, State, Debug)