Browse Source

change order of execution in gproc_monitor

Ulf Wiger 11 years ago
parent
commit
29021c7ee7
1 changed files with 4 additions and 4 deletions
  1. 4 4
      src/gproc_monitor.erl

+ 4 - 4
src/gproc_monitor.erl

@@ -177,24 +177,24 @@ handle_cast({unsubscribe, Pid, Key}, State) ->
 %%--------------------------------------------------------------------
 handle_info({gproc, unreg, _Ref, Name}, State) ->
     ets:delete(?TAB, {m, Name}),
-    notify(Name, undefined),
     do_monitor(Name, undefined),
+    notify(Name, undefined),
     {noreply, State};
 handle_info({gproc, {migrated,ToPid}, _Ref, Name}, State) ->
     ets:delete(?TAB, {m, Name}),
-    notify(Name, {migrated, ToPid}),
     do_monitor(Name, ToPid),
+    notify(Name, {migrated, ToPid}),
     {noreply, State};
 handle_info({gproc, {failover,ToPid}, _Ref, Name}, State) ->
     ets:delete(?TAB, {m, Name}),
-    notify(Name, {failover, ToPid}),
     do_monitor(Name, ToPid),
+    notify(Name, {failover, ToPid}),
     {noreply, State};
 handle_info({gproc, _, registered, {{T,_,_} = Name, Pid, _}}, State)
   when T==n; T==a ->
     ets:delete(?TAB, {w, Name}),
-    notify(Name, Pid),
     do_monitor(Name, Pid),
+    notify(Name, Pid),
     {noreply, State};
 handle_info({'DOWN', _, process, Pid, _}, State) ->
     pid_is_down(Pid),