aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2015-10-05 11:21:49 -0700
committerGravatar Craig Tiller <ctiller@google.com>2015-10-05 11:21:49 -0700
commit91054e685594dcc0ab01b2353cb7f6a4acd0bb05 (patch)
tree6ebd19020d3995b95762c855f094eec5a38a1d88 /src
parent67eadf7c64b452b5edc630ce6c2140e3f38c2d62 (diff)
parentc04610357ca9c7bfc993849a150c40872a13f50a (diff)
Merge pull request #3627 from yang-g/flake2
Deflake end2end_test
Diffstat (limited to 'src')
-rw-r--r--src/core/iomgr/pollset_posix.c1
-rw-r--r--src/core/transport/chttp2_transport.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/core/iomgr/pollset_posix.c b/src/core/iomgr/pollset_posix.c
index 464c1f6ae3..9042827484 100644
--- a/src/core/iomgr/pollset_posix.c
+++ b/src/core/iomgr/pollset_posix.c
@@ -352,6 +352,7 @@ static void basic_do_promote(grpc_exec_ctx *exec_ctx, void *args, int success) {
if (pollset->shutting_down) {
/* We don't care about this pollset anymore. */
if (pollset->in_flight_cbs == 0 && !pollset->called_shutdown) {
+ pollset->called_shutdown = 1;
finish_shutdown(exec_ctx, pollset);
}
} else if (grpc_fd_is_orphaned(fd)) {
diff --git a/src/core/transport/chttp2_transport.c b/src/core/transport/chttp2_transport.c
index 0437dbfadf..de74379546 100644
--- a/src/core/transport/chttp2_transport.c
+++ b/src/core/transport/chttp2_transport.c
@@ -1136,7 +1136,7 @@ static void recv_data(grpc_exec_ctx *exec_ctx, void *tp, int success) {
grpc_chttp2_publish_reads(exec_ctx, &t->global, &t->parsing);
t->parsing_active = 0;
}
- if (!success || i != t->read_buffer.count) {
+ if (!success || i != t->read_buffer.count || t->closed) {
drop_connection(exec_ctx, t);
read_error_locked(exec_ctx, t);
} else if (!t->closed) {