summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@rabbitmq.com>2011-07-28 15:11:43 +0100
committerMatthew Sackman <matthew@rabbitmq.com>2011-07-28 15:11:43 +0100
commit1d51127ac43821c56d4ce15169faa48f191e7eee (patch)
tree570e09de56acecf3a9928d6ea9c4a9e8a81f9b3a
parentbd6630d835fbaecf924d7feff979b8f6bc6eeadc (diff)
downloadrabbitmq-server-1d51127ac43821c56d4ce15169faa48f191e7eee.tar.gz
Don't unpack and repack
-rw-r--r--src/gen_server2.erl24
1 files changed, 10 insertions, 14 deletions
diff --git a/src/gen_server2.erl b/src/gen_server2.erl
index d4d583a0..64a3502c 100644
--- a/src/gen_server2.erl
+++ b/src/gen_server2.erl
@@ -598,23 +598,19 @@ adjust_timeout_state(SleptAt, AwokeAt, {backoff, CurrentTO, MinimumTO,
CurrentTO1 = Base + Extra,
{backoff, CurrentTO1, MinimumTO, DesiredHibPeriod, RandomState1}.
-in({'$gen_cast', Msg}, GS2State = #gs2_state { prioritise_cast = PC,
- queue = Queue }) ->
+in({'$gen_cast', Msg} = Input,
+ GS2State = #gs2_state { prioritise_cast = PC, queue = Queue }) ->
GS2State #gs2_state { queue = priority_queue:in(
- {'$gen_cast', Msg},
- PC(Msg, GS2State), Queue) };
-in({'$gen_call', From, Msg}, GS2State = #gs2_state { prioritise_call = PC,
- queue = Queue }) ->
+ Input, PC(Msg, GS2State), Queue) };
+in({'$gen_call', From, Msg} = Input,
+ GS2State = #gs2_state { prioritise_call = PC, queue = Queue }) ->
GS2State #gs2_state { queue = priority_queue:in(
- {'$gen_call', From, Msg},
- PC(Msg, From, GS2State), Queue) };
-in({'EXIT', Parent, Reason},
+ Input, PC(Msg, From, GS2State), Queue) };
+in({'EXIT', Parent, _Reason} = Input,
GS2State = #gs2_state { parent = Parent, queue = Queue }) ->
- GS2State #gs2_state { queue = priority_queue:in(
- {'EXIT', Parent, Reason}, infinity, Queue) };
-in({system, From, Req}, GS2State = #gs2_state { queue = Queue }) ->
- GS2State #gs2_state { queue = priority_queue:in(
- {system, From, Req}, infinity, Queue) };
+ GS2State #gs2_state { queue = priority_queue:in(Input, infinity, Queue) };
+in({system, _From, _Req} = Input, GS2State = #gs2_state { queue = Queue }) ->
+ GS2State #gs2_state { queue = priority_queue:in(Input, infinity, Queue) };
in(Input, GS2State = #gs2_state { prioritise_info = PI, queue = Queue }) ->
GS2State #gs2_state { queue = priority_queue:in(
Input, PI(Input, GS2State), Queue) }.