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 | 72abcd76380d49ed1e7688d073292b79fec6b2a8 (patch) | |
| tree | 570e09de56acecf3a9928d6ea9c4a9e8a81f9b3a /src | |
| parent | fc65da2a1bfa9045945ee3b60311e079941e1ff3 (diff) | |
| download | rabbitmq-server-git-72abcd76380d49ed1e7688d073292b79fec6b2a8.tar.gz | |
Don't unpack and repack
Diffstat (limited to 'src')
| -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 d4d583a086..64a3502cf6 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) }. |
