Muxi Yan 9 лет назад
Родитель
Сommit
5850021845
1 измененных файлов с 3 добавлено и 3 удалено
  1. 3 3
      src/core/ext/transport/chttp2/transport/chttp2_transport.c

+ 3 - 3
src/core/ext/transport/chttp2/transport/chttp2_transport.c

@@ -1602,9 +1602,9 @@ static void remove_stream(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t,
   gpr_mu_lock(&s->buffer_mu);
   if (s->data_parser.parsing_frame != NULL) {
     gpr_mu_lock(&s->data_parser.parsing_frame->slice_mu);
-    if (error != GRPC_ERROR_NONE ||
-        s->data_parser.parsing_frame->on_next) {
-      gpr_mu_unlock(&s->data_parser.parsing_frame->slice_mu);
+    grpc_closure *next = s->data_parser.parsing_frame->on_next;
+    gpr_mu_unlock(&s->data_parser.parsing_frame->slice_mu);
+    if (error != GRPC_ERROR_NONE || next != NULL) {
       grpc_chttp2_incoming_byte_stream_finished(
            exec_ctx, s->data_parser.parsing_frame, GRPC_ERROR_REF(error));
       s->data_parser.parsing_frame = NULL;