[rabbitmq-discuss] erlang-client problem on OS X (empty_rpc_bottom_half)

Ben Hood 0x6e6562 at gmail.com
Wed Dec 10 08:49:50 GMT 2008


Matt,

On Wed, Dec 10, 2008 at 8:21 AM, Matt Stancliff <sysop at mindspring.com> wrote:
>  I don't see special handling of channel.flow in the client anywhere.
>  channel.flow gets passed through
> handle_info->handle_method->rpc_bottom_half:

This is how the current version handles the channel.flow command:

%% This handles the flow control flag that the broker initiates.
%% If defined, it informs the flow control handler to suspend submitting
%% any content bearing methods
handle_method(Flow = #'channel.flow'{active = Active},
              State = #channel_state{writer_pid = Writer, do2 = Do2,
                                     flow_handler_pid = FlowHandler}) ->
    case FlowHandler of
        undefined -> ok;
        _ -> FlowHandler ! Flow
    end,
    Do2(Writer, #'channel.flow_ok'{active = Active}),
    {noreply, State#channel_state{flow_control = not(Active)}};

Hence why I am baffled as to how the command is being processed as a
rpc_bottom_half.

>  If I remove the exit(empty_rpc_bottom_half) and replace it with an empty
> queue, the tests pass.  But I have no explanation why the errors are only
> happening on my OS X machine.

Neither do I at this stage, I will have to ponder this.

Ben




More information about the rabbitmq-discuss mailing list