diff options
| author | Matthew Sackman <matthew@rabbitmq.com> | 2011-07-28 15:02:52 +0100 |
|---|---|---|
| committer | Matthew Sackman <matthew@rabbitmq.com> | 2011-07-28 15:02:52 +0100 |
| commit | fc65da2a1bfa9045945ee3b60311e079941e1ff3 (patch) | |
| tree | 17a34d3da44d6c098a01276a20098a3b0d023937 /src | |
| parent | 031179d8deea02070cecfe54dd251f73c00a9844 (diff) | |
| download | rabbitmq-server-git-fc65da2a1bfa9045945ee3b60311e079941e1ff3.tar.gz | |
Don't call prioritise_info for EXIT from parent. Use infinity priority for system msgs and EXIT from parent
Diffstat (limited to 'src')
| -rw-r--r-- | src/gen_server2.erl | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gen_server2.erl b/src/gen_server2.erl index dad04fa78b..d4d583a086 100644 --- a/src/gen_server2.erl +++ b/src/gen_server2.erl @@ -608,6 +608,13 @@ in({'$gen_call', From, Msg}, GS2State = #gs2_state { prioritise_call = PC, GS2State #gs2_state { queue = priority_queue:in( {'$gen_call', From, Msg}, PC(Msg, From, GS2State), Queue) }; +in({'EXIT', Parent, Reason}, + 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) }; in(Input, GS2State = #gs2_state { prioritise_info = PI, queue = Queue }) -> GS2State #gs2_state { queue = priority_queue:in( Input, PI(Input, GS2State), Queue) }. |
