@@ -3218,12 +3218,12 @@ static rd_kafka_op_res_t rd_kafka_consume_callback0(
32183218 struct consume_ctx ctx = {.consume_cb = consume_cb , .opaque = opaque };
32193219 rd_kafka_op_res_t res ;
32203220
3221- rd_kafka_app_poll_start (rkq -> rkq_rk , 0 , timeout_ms );
3221+ rd_kafka_app_poll_start (rkq -> rkq_rk , rkq , 0 , timeout_ms );
32223222
32233223 res = rd_kafka_q_serve (rkq , timeout_ms , max_cnt , RD_KAFKA_Q_CB_RETURN ,
32243224 rd_kafka_consume_cb , & ctx );
32253225
3226- rd_kafka_app_polled (rkq -> rkq_rk );
3226+ rd_kafka_app_polled (rkq -> rkq_rk , rkq );
32273227
32283228 return res ;
32293229}
@@ -3289,7 +3289,7 @@ rd_kafka_consume0(rd_kafka_t *rk, rd_kafka_q_t *rkq, int timeout_ms) {
32893289 rd_ts_t now = rd_clock ();
32903290 rd_ts_t abs_timeout = rd_timeout_init0 (now , timeout_ms );
32913291
3292- rd_kafka_app_poll_start (rk , now , timeout_ms );
3292+ rd_kafka_app_poll_start (rk , rkq , now , timeout_ms );
32933293
32943294 rd_kafka_yield_thread = 0 ;
32953295 while ((
@@ -3306,7 +3306,7 @@ rd_kafka_consume0(rd_kafka_t *rk, rd_kafka_q_t *rkq, int timeout_ms) {
33063306 /* Callback called rd_kafka_yield(), we must
33073307 * stop dispatching the queue and return. */
33083308 rd_kafka_set_last_error (RD_KAFKA_RESP_ERR__INTR , EINTR );
3309- rd_kafka_app_polled (rk );
3309+ rd_kafka_app_polled (rk , rkq );
33103310 return NULL ;
33113311 }
33123312
@@ -3318,7 +3318,7 @@ rd_kafka_consume0(rd_kafka_t *rk, rd_kafka_q_t *rkq, int timeout_ms) {
33183318 /* Timeout reached with no op returned. */
33193319 rd_kafka_set_last_error (RD_KAFKA_RESP_ERR__TIMED_OUT ,
33203320 ETIMEDOUT );
3321- rd_kafka_app_polled (rk );
3321+ rd_kafka_app_polled (rk , rkq );
33223322 return NULL ;
33233323 }
33243324
@@ -3333,7 +3333,7 @@ rd_kafka_consume0(rd_kafka_t *rk, rd_kafka_q_t *rkq, int timeout_ms) {
33333333
33343334 rd_kafka_set_last_error (0 , 0 );
33353335
3336- rd_kafka_app_polled (rk );
3336+ rd_kafka_app_polled (rk , rkq );
33373337
33383338 return rkmessage ;
33393339}
@@ -3980,10 +3980,10 @@ rd_kafka_op_res_t rd_kafka_poll_cb(rd_kafka_t *rk,
39803980 cb_type == RD_KAFKA_Q_CB_FORCE_RETURN )
39813981 return RD_KAFKA_OP_RES_PASS ; /* Dont handle here */
39823982 else {
3983- rk -> rk_ts_last_poll_end = rd_clock ();
3984- struct consume_ctx ctx = {.consume_cb =
3985- rk -> rk_conf .consume_cb ,
3986- .opaque = rk -> rk_conf .opaque };
3983+ rkq -> rkq_ts_last_poll_end = rd_clock ();
3984+ struct consume_ctx ctx = {.consume_cb =
3985+ rk -> rk_conf .consume_cb ,
3986+ .opaque = rk -> rk_conf .opaque };
39873987
39883988 return rd_kafka_consume_cb (rk , rkq , rko , cb_type , & ctx );
39893989 }
@@ -4213,17 +4213,19 @@ rd_kafka_op_res_t rd_kafka_poll_cb(rd_kafka_t *rk,
42134213int rd_kafka_poll (rd_kafka_t * rk , int timeout_ms ) {
42144214 int r ;
42154215
4216- r = rd_kafka_q_serve (rk -> rk_rep , timeout_ms , 0 , RD_KAFKA_Q_CB_CALLBACK ,
4217- rd_kafka_poll_cb , NULL );
4216+ r = rd_kafka_q_serve_maybe_consume (rk -> rk_rep , timeout_ms , 0 ,
4217+ RD_KAFKA_Q_CB_CALLBACK ,
4218+ rd_kafka_poll_cb , NULL );
42184219 return r ;
42194220}
42204221
42214222
42224223rd_kafka_event_t * rd_kafka_queue_poll (rd_kafka_queue_t * rkqu , int timeout_ms ) {
42234224 rd_kafka_op_t * rko ;
42244225
4225- rko = rd_kafka_q_pop_serve (rkqu -> rkqu_q , rd_timeout_us (timeout_ms ), 0 ,
4226- RD_KAFKA_Q_CB_EVENT , rd_kafka_poll_cb , NULL );
4226+ rko = rd_kafka_q_pop_serve_maybe_consume (
4227+ rkqu -> rkqu_q , rd_timeout_us (timeout_ms ), 0 , RD_KAFKA_Q_CB_EVENT ,
4228+ rd_kafka_poll_cb , NULL );
42274229
42284230
42294231 if (!rko )
@@ -4235,8 +4237,9 @@ rd_kafka_event_t *rd_kafka_queue_poll(rd_kafka_queue_t *rkqu, int timeout_ms) {
42354237int rd_kafka_queue_poll_callback (rd_kafka_queue_t * rkqu , int timeout_ms ) {
42364238 int r ;
42374239
4238- r = rd_kafka_q_serve (rkqu -> rkqu_q , timeout_ms , 0 ,
4239- RD_KAFKA_Q_CB_CALLBACK , rd_kafka_poll_cb , NULL );
4240+ r = rd_kafka_q_serve_maybe_consume (rkqu -> rkqu_q , timeout_ms , 0 ,
4241+ RD_KAFKA_Q_CB_CALLBACK ,
4242+ rd_kafka_poll_cb , NULL );
42404243 return r ;
42414244}
42424245
0 commit comments