|  | @@ -54,6 +54,8 @@
 | 
	
		
			
				|  |  |  #include "test/core/util/port.h"
 | 
	
		
			
				|  |  |  #include "test/core/util/test_config.h"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +grpc_workqueue *g_workqueue;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  /* chttp2 transport that is immediately available (used for testing
 | 
	
		
			
				|  |  |     connected_channel without a client_channel */
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -63,7 +65,7 @@ static void server_setup_transport(void *ts, grpc_transport *transport,
 | 
	
		
			
				|  |  |    static grpc_channel_filter const *extra_filters[] = {
 | 
	
		
			
				|  |  |        &grpc_http_server_filter};
 | 
	
		
			
				|  |  |    grpc_server_setup_transport(f->server, transport, extra_filters,
 | 
	
		
			
				|  |  | -                              GPR_ARRAY_SIZE(extra_filters), mdctx,
 | 
	
		
			
				|  |  | +                              GPR_ARRAY_SIZE(extra_filters), mdctx, g_workqueue,
 | 
	
		
			
				|  |  |                                grpc_server_get_channel_args(f->server));
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -80,8 +82,9 @@ static void client_setup_transport(void *ts, grpc_transport *transport,
 | 
	
		
			
				|  |  |                                            &grpc_compress_filter,
 | 
	
		
			
				|  |  |                                            &grpc_connected_channel_filter};
 | 
	
		
			
				|  |  |    size_t nfilters = sizeof(filters) / sizeof(*filters);
 | 
	
		
			
				|  |  | -  grpc_channel *channel = grpc_channel_create_from_filters(
 | 
	
		
			
				|  |  | -      "socketpair-target", filters, nfilters, cs->client_args, mdctx, 1);
 | 
	
		
			
				|  |  | +  grpc_channel *channel =
 | 
	
		
			
				|  |  | +      grpc_channel_create_from_filters("socketpair-target", filters, nfilters,
 | 
	
		
			
				|  |  | +                                       cs->client_args, mdctx, g_workqueue, 1);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    cs->f->client = channel;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -98,7 +101,7 @@ static grpc_end2end_test_fixture chttp2_create_fixture_socketpair(
 | 
	
		
			
				|  |  |    f.fixture_data = sfd;
 | 
	
		
			
				|  |  |    f.cq = grpc_completion_queue_create(NULL);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  *sfd = grpc_iomgr_create_endpoint_pair("fixture", 65536);
 | 
	
		
			
				|  |  | +  *sfd = grpc_iomgr_create_endpoint_pair("fixture", 65536, g_workqueue);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    return f;
 | 
	
		
			
				|  |  |  }
 | 
	
	
		
			
				|  | @@ -111,7 +114,8 @@ static void chttp2_init_client_socketpair(grpc_end2end_test_fixture *f,
 | 
	
		
			
				|  |  |    sp_client_setup cs;
 | 
	
		
			
				|  |  |    cs.client_args = client_args;
 | 
	
		
			
				|  |  |    cs.f = f;
 | 
	
		
			
				|  |  | -  transport = grpc_create_chttp2_transport(client_args, sfd->client, mdctx, 1);
 | 
	
		
			
				|  |  | +  transport = grpc_create_chttp2_transport(client_args, sfd->client, mdctx,
 | 
	
		
			
				|  |  | +                                           g_workqueue, 1);
 | 
	
		
			
				|  |  |    client_setup_transport(&cs, transport, mdctx);
 | 
	
		
			
				|  |  |    GPR_ASSERT(f->client);
 | 
	
		
			
				|  |  |    grpc_chttp2_transport_start_reading(transport, NULL, 0);
 | 
	
	
		
			
				|  | @@ -126,7 +130,8 @@ static void chttp2_init_server_socketpair(grpc_end2end_test_fixture *f,
 | 
	
		
			
				|  |  |    f->server = grpc_server_create_from_filters(NULL, 0, server_args);
 | 
	
		
			
				|  |  |    grpc_server_register_completion_queue(f->server, f->cq, NULL);
 | 
	
		
			
				|  |  |    grpc_server_start(f->server);
 | 
	
		
			
				|  |  | -  transport = grpc_create_chttp2_transport(server_args, sfd->server, mdctx, 0);
 | 
	
		
			
				|  |  | +  transport = grpc_create_chttp2_transport(server_args, sfd->server, mdctx,
 | 
	
		
			
				|  |  | +                                           g_workqueue, 0);
 | 
	
		
			
				|  |  |    server_setup_transport(f, transport, mdctx);
 | 
	
		
			
				|  |  |    grpc_chttp2_transport_start_reading(transport, NULL, 0);
 | 
	
		
			
				|  |  |  }
 | 
	
	
		
			
				|  | @@ -156,6 +161,7 @@ int main(int argc, char **argv) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    grpc_test_init(argc, argv);
 | 
	
		
			
				|  |  |    grpc_init();
 | 
	
		
			
				|  |  | +  g_workqueue = grpc_workqueue_create();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    GPR_ASSERT(0 == grpc_tracer_set_enabled("also-doesnt-exist", 0));
 | 
	
		
			
				|  |  |    GPR_ASSERT(1 == grpc_tracer_set_enabled("http", 1));
 | 
	
	
		
			
				|  | @@ -165,6 +171,7 @@ int main(int argc, char **argv) {
 | 
	
		
			
				|  |  |      grpc_end2end_tests(configs[i]);
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +  grpc_workqueue_unref(g_workqueue);
 | 
	
		
			
				|  |  |    grpc_shutdown();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    return 0;
 |