diff options
author | Matthew Sackman <matthew@rabbitmq.com> | 2011-07-28 15:11:43 +0100 |
---|---|---|
committer | Matthew Sackman <matthew@rabbitmq.com> | 2011-07-28 15:11:43 +0100 |
commit | 1d51127ac43821c56d4ce15169faa48f191e7eee (patch) | |
tree | 570e09de56acecf3a9928d6ea9c4a9e8a81f9b3a | |
parent | bd6630d835fbaecf924d7feff979b8f6bc6eeadc (diff) | |
download | rabbitmq-server-1d51127ac43821c56d4ce15169faa48f191e7eee.tar.gz |
Don't unpack and repack
-rw-r--r-- | src/gen_server2.erl | 24 |
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) }. |