Fix refcounting bugs

pull/7793/head
Craig Tiller 9 years ago
parent 922f810b2e
commit f0e1119996
  1. 1
      src/core/ext/transport/chttp2/transport/frame_data.c
  2. 2
      src/core/ext/transport/chttp2/transport/parsing.c
  3. 2
      src/core/lib/iomgr/error.h
  4. 2
      src/core/lib/transport/transport.h

@ -56,6 +56,7 @@ void grpc_chttp2_data_parser_destroy(grpc_exec_ctx *exec_ctx,
exec_ctx, parser->parsing_frame, GRPC_ERROR_CREATE("Parser destroyed"),
1);
}
GRPC_ERROR_UNREF(parser->error);
}
grpc_error *grpc_chttp2_data_parser_begin_frame(grpc_chttp2_data_parser *parser,

@ -444,7 +444,7 @@ static grpc_error *init_data_frame_parser(
} else if (grpc_error_get_int(err, GRPC_ERROR_INT_STREAM_ID, NULL)) {
/* handle stream errors by closing the stream */
grpc_chttp2_mark_stream_closed(exec_ctx, transport_global, stream_global,
true, false, GRPC_ERROR_REF(err));
true, false, err);
gpr_slice_buffer_add(
&transport_global->qbuf,
grpc_chttp2_rst_stream_create(transport_global->incoming_stream_id,

@ -148,7 +148,7 @@ grpc_error *grpc_error_create(const char *file, int line, const char *desc,
#define GRPC_ERROR_CREATE_REFERENCING(desc, errs, count) \
grpc_error_create(__FILE__, __LINE__, desc, errs, count)
//#define GRPC_ERROR_REFCOUNT_DEBUG
#define GRPC_ERROR_REFCOUNT_DEBUG
#ifdef GRPC_ERROR_REFCOUNT_DEBUG
grpc_error *grpc_error_ref(grpc_error *err, const char *file, int line,
const char *func);

@ -55,7 +55,7 @@ typedef struct grpc_transport grpc_transport;
for a stream. */
typedef struct grpc_stream grpc_stream;
#define GRPC_STREAM_REFCOUNT_DEBUG
//#define GRPC_STREAM_REFCOUNT_DEBUG
typedef struct grpc_stream_refcount {
gpr_refcount refs;

Loading…
Cancel
Save