| 
					
				 | 
			
			
				@@ -1,6 +1,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * Copyright 2015, Google Inc. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Copyright 2015-2016, Google Inc. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * All rights reserved. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Redistribution and use in source and binary forms, with or without 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -41,6 +41,8 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include <grpc/support/time.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "test/core/util/test_config.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define NUM_THREADS 300 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 struct test { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   gpr_mu mu; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   int n; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -79,15 +81,14 @@ static void test_options(void) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void test(void) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   int i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   gpr_thd_id thd; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  gpr_thd_id thds[1000]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  gpr_thd_id thds[NUM_THREADS]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   struct test t; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  int n = 1000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   gpr_thd_options options = gpr_thd_options_default(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   gpr_mu_init(&t.mu); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   gpr_cv_init(&t.done_cv); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  t.n = n; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  t.n = NUM_THREADS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   t.is_done = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  for (i = 0; i != n; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  for (i = 0; i < NUM_THREADS; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     GPR_ASSERT(gpr_thd_new(&thd, &thd_body, &t, NULL)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   gpr_mu_lock(&t.mu); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -97,10 +98,10 @@ static void test(void) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   gpr_mu_unlock(&t.mu); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPR_ASSERT(t.n == 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   gpr_thd_options_set_joinable(&options); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  for (i = 0; i < n; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  for (i = 0; i < NUM_THREADS; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     GPR_ASSERT(gpr_thd_new(&thds[i], &thd_body_joinable, NULL, &options)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  for (i = 0; i < n; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  for (i = 0; i < NUM_THREADS; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     gpr_thd_join(thds[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |