Fixed a bug caused by the Channel being killed out from under the AMQP module. RT...
authorMatt Mullins <mmullins@mmlx.us>
Thu, 1 Sep 2011 05:23:32 +0000 (00:23 -0500)
committerMatt Mullins <mmullins@mmlx.us>
Thu, 1 Sep 2011 05:23:32 +0000 (00:23 -0500)
amqp/amqp_bot_listener.erl

index 0b54c34..bd8a934 100644 (file)
 %% Note this calls basic.consume with no_ack=true, so messages are
 %% automatically removed from the queue when they occur
 %%
-%% This links the Channel to the current process so that it can handle, for
+%% This monitors the Channel so that the calling process can handle, for
 %% instance, the AMQP server dying.
 listen_for_events(RoutingKeyString) ->
     {ok, Channel} = amqp_bot_connection:open_channel(),
-    link(Channel),
+    erlang:monitor(process, Channel),
     RoutingKeyBinary = list_to_binary(RoutingKeyString),
     Pid = self(),
     #'exchange.declare_ok'{} = amqp_channel:call(Channel,