respect channel blocking when adding consumers
This commit is contained in:
		
							parent
							
								
									979810d234
								
							
						
					
					
						commit
						248c83d08f
					
				| 
						 | 
					@ -644,11 +644,18 @@ handle_call({basic_consume, NoAck, ReaderPid, ChPid, LimiterPid,
 | 
				
			||||||
                           true             -> ExistingHolder
 | 
					                           true             -> ExistingHolder
 | 
				
			||||||
                        end,
 | 
					                        end,
 | 
				
			||||||
                    State1 = State#q{has_had_consumers = true,
 | 
					                    State1 = State#q{has_had_consumers = true,
 | 
				
			||||||
                                     exclusive_consumer = ExclusiveConsumer,
 | 
					                                     exclusive_consumer = ExclusiveConsumer},
 | 
				
			||||||
                                     round_robin = queue:in({ChPid, Consumer},
 | 
					 | 
				
			||||||
                                                            RoundRobin)},
 | 
					 | 
				
			||||||
                    ok = maybe_send_reply(ChPid, OkMsg),
 | 
					                    ok = maybe_send_reply(ChPid, OkMsg),
 | 
				
			||||||
                    reply(ok, run_poke_burst(State1))
 | 
					                    State2 =
 | 
				
			||||||
 | 
					                        case is_ch_blocked(C) of
 | 
				
			||||||
 | 
					                            true  -> State1;
 | 
				
			||||||
 | 
					                            false -> run_poke_burst(
 | 
				
			||||||
 | 
					                                       State1#q{
 | 
				
			||||||
 | 
					                                         round_robin = queue:in(
 | 
				
			||||||
 | 
					                                                         {ChPid, Consumer},
 | 
				
			||||||
 | 
					                                                         RoundRobin)})
 | 
				
			||||||
 | 
					                        end,
 | 
				
			||||||
 | 
					                    reply(ok, State2)
 | 
				
			||||||
            end
 | 
					            end
 | 
				
			||||||
    end;
 | 
					    end;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue