| 
					
				 | 
			
			
				@@ -190,8 +190,8 @@ static void destruct_transport(grpc_exec_ctx *exec_ctx, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      and maybe they hold resources that need to be freed */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   while (t->global.pings.next != &t->global.pings) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     grpc_chttp2_outstanding_ping *ping = t->global.pings.next; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    grpc_exec_ctx_push(exec_ctx, ping->on_recv, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       GRPC_ERROR_CREATE("Transport closed"), NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    grpc_exec_ctx_sched(exec_ctx, ping->on_recv, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        GRPC_ERROR_CREATE("Transport closed"), NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ping->next->prev = ping->prev; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ping->prev->next = ping->next; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     gpr_free(ping); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -643,7 +643,7 @@ static void finish_global_actions(grpc_exec_ctx *exec_ctx, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       t->executor.writing_active = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       REF_TRANSPORT(t, "writing"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       prevent_endpoint_shutdown(t); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      grpc_exec_ctx_push(exec_ctx, &t->writing_action, GRPC_ERROR_NONE, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      grpc_exec_ctx_sched(exec_ctx, &t->writing_action, GRPC_ERROR_NONE, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     check_read_ops(exec_ctx, &t->global); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -907,7 +907,7 @@ void grpc_chttp2_complete_closure_step( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 stream_global->collecting_stats); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       stream_global->collecting_stats = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    grpc_exec_ctx_push(exec_ctx, closure, closure->error, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    grpc_exec_ctx_sched(exec_ctx, closure, closure->error, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   *pclosure = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1127,7 +1127,7 @@ static void ack_ping_locked(grpc_exec_ctx *exec_ctx, grpc_chttp2_transport *t, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for (ping = transport_global->pings.next; ping != &transport_global->pings; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        ping = ping->next) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (0 == memcmp(opaque_8bytes, ping->id, 8)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      grpc_exec_ctx_push(exec_ctx, ping->on_recv, GRPC_ERROR_NONE, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      grpc_exec_ctx_sched(exec_ctx, ping->on_recv, GRPC_ERROR_NONE, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ping->next->prev = ping->prev; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ping->prev->next = ping->next; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       gpr_free(ping); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1160,7 +1160,7 @@ static void perform_transport_op_locked(grpc_exec_ctx *exec_ctx, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  grpc_exec_ctx_push(exec_ctx, op->on_consumed, GRPC_ERROR_NONE, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  grpc_exec_ctx_sched(exec_ctx, op->on_consumed, GRPC_ERROR_NONE, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (op->on_connectivity_state_change != NULL) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     grpc_connectivity_state_notify_on_state_change( 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1234,8 +1234,8 @@ static void check_read_ops(grpc_exec_ctx *exec_ctx, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       grpc_chttp2_incoming_metadata_buffer_publish( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           &stream_global->received_initial_metadata, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           stream_global->recv_initial_metadata); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      grpc_exec_ctx_push(exec_ctx, stream_global->recv_initial_metadata_ready, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                         GRPC_ERROR_NONE, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      grpc_exec_ctx_sched(exec_ctx, stream_global->recv_initial_metadata_ready, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          GRPC_ERROR_NONE, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       stream_global->recv_initial_metadata_ready = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (stream_global->recv_message_ready != NULL) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1248,13 +1248,13 @@ static void check_read_ops(grpc_exec_ctx *exec_ctx, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         *stream_global->recv_message = grpc_chttp2_incoming_frame_queue_pop( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             &stream_global->incoming_frames); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         GPR_ASSERT(*stream_global->recv_message != NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        grpc_exec_ctx_push(exec_ctx, stream_global->recv_message_ready, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                           GRPC_ERROR_NONE, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        grpc_exec_ctx_sched(exec_ctx, stream_global->recv_message_ready, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            GRPC_ERROR_NONE, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         stream_global->recv_message_ready = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } else if (stream_global->published_trailing_metadata) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         *stream_global->recv_message = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        grpc_exec_ctx_push(exec_ctx, stream_global->recv_message_ready, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                           GRPC_ERROR_NONE, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        grpc_exec_ctx_sched(exec_ctx, stream_global->recv_message_ready, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            GRPC_ERROR_NONE, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         stream_global->recv_message_ready = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1643,7 +1643,7 @@ static void reading_action_locked(grpc_exec_ctx *exec_ctx, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     grpc_chttp2_stream_map_move_into(&t->new_stream_map, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                      &t->parsing_stream_map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     grpc_chttp2_prepare_to_read(transport_global, transport_parsing); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    grpc_exec_ctx_push(exec_ctx, &t->parsing_action, error, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    grpc_exec_ctx_sched(exec_ctx, &t->parsing_action, error, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     post_reading_action_locked(exec_ctx, t, s_unused, arg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1870,10 +1870,10 @@ static void incoming_byte_stream_next_locked(grpc_exec_ctx *exec_ctx, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (bs->slices.count > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *arg->slice = gpr_slice_buffer_take_first(&bs->slices); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    grpc_exec_ctx_push(exec_ctx, arg->on_complete, GRPC_ERROR_NONE, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    grpc_exec_ctx_sched(exec_ctx, arg->on_complete, GRPC_ERROR_NONE, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } else if (bs->error != GRPC_ERROR_NONE) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    grpc_exec_ctx_push(exec_ctx, arg->on_complete, GRPC_ERROR_REF(bs->error), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    grpc_exec_ctx_sched(exec_ctx, arg->on_complete, GRPC_ERROR_REF(bs->error), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     bs->on_next = arg->on_complete; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     bs->next = arg->slice; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1930,7 +1930,7 @@ static void incoming_byte_stream_push_locked(grpc_exec_ctx *exec_ctx, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   grpc_chttp2_incoming_byte_stream *bs = arg->byte_stream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (bs->on_next != NULL) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *bs->next = arg->slice; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    grpc_exec_ctx_push(exec_ctx, bs->on_next, GRPC_ERROR_NONE, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    grpc_exec_ctx_sched(exec_ctx, bs->on_next, GRPC_ERROR_NONE, NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     bs->on_next = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     gpr_slice_buffer_add(&bs->slices, arg->slice); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1968,7 +1968,7 @@ static void incoming_byte_stream_finished_failed_locked( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   grpc_chttp2_incoming_byte_stream *bs = a->bs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   grpc_error *error = a->error; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   gpr_free(a); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  grpc_exec_ctx_push(exec_ctx, bs->on_next, GRPC_ERROR_REF(error), NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  grpc_exec_ctx_sched(exec_ctx, bs->on_next, GRPC_ERROR_REF(error), NULL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   bs->on_next = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GRPC_ERROR_UNREF(bs->error); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   bs->error = error; 
			 |