|  | @@ -16,24 +16,17 @@
 | 
	
		
			
				|  |  |   *
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -#ifndef GRPC_SUPPORT_THD_H
 | 
	
		
			
				|  |  | -#define GRPC_SUPPORT_THD_H
 | 
	
		
			
				|  |  | -/** Thread interface for GPR.
 | 
	
		
			
				|  |  | +#ifndef GRPC_CORE_LIB_GPR_THD_H
 | 
	
		
			
				|  |  | +#define GRPC_CORE_LIB_GPR_THD_H
 | 
	
		
			
				|  |  | +/** Internal thread interface for GPR.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |     Types
 | 
	
		
			
				|  |  | -        gpr_thd_id        a thread identifier.
 | 
	
		
			
				|  |  | -                          (Currently no calls take a thread identifier.
 | 
	
		
			
				|  |  | -                          It exists for future extensibility.)
 | 
	
		
			
				|  |  |          gpr_thd_options   options used when creating a thread
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  #include <grpc/support/port_platform.h>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -#ifdef __cplusplus
 | 
	
		
			
				|  |  | -extern "C" {
 | 
	
		
			
				|  |  | -#endif
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -typedef uintptr_t gpr_thd_id;
 | 
	
		
			
				|  |  | +#include <grpc/support/thd_id.h>
 | 
	
		
			
				|  |  | +#include <grpc/support/time.h>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /** Thread creation options. */
 | 
	
		
			
				|  |  |  typedef struct {
 | 
	
	
		
			
				|  | @@ -46,34 +39,33 @@ typedef struct {
 | 
	
		
			
				|  |  |     that support thread naming.
 | 
	
		
			
				|  |  |     If options==NULL, default options are used.
 | 
	
		
			
				|  |  |     The thread is immediately runnable, and exits when (*thd_body)() returns.  */
 | 
	
		
			
				|  |  | -GPRAPI int gpr_thd_new(gpr_thd_id* t, const char* thd_name,
 | 
	
		
			
				|  |  | -                       void (*thd_body)(void* arg), void* arg,
 | 
	
		
			
				|  |  | -                       const gpr_thd_options* options);
 | 
	
		
			
				|  |  | +int gpr_thd_new(gpr_thd_id* t, const char* thd_name,
 | 
	
		
			
				|  |  | +                void (*thd_body)(void* arg), void* arg,
 | 
	
		
			
				|  |  | +                const gpr_thd_options* options);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /** Return a gpr_thd_options struct with all fields set to defaults. */
 | 
	
		
			
				|  |  | -GPRAPI gpr_thd_options gpr_thd_options_default(void);
 | 
	
		
			
				|  |  | +gpr_thd_options gpr_thd_options_default(void);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /** Set the thread to become detached on startup - this is the default. */
 | 
	
		
			
				|  |  | -GPRAPI void gpr_thd_options_set_detached(gpr_thd_options* options);
 | 
	
		
			
				|  |  | +void gpr_thd_options_set_detached(gpr_thd_options* options);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /** Set the thread to become joinable - mutually exclusive with detached. */
 | 
	
		
			
				|  |  | -GPRAPI void gpr_thd_options_set_joinable(gpr_thd_options* options);
 | 
	
		
			
				|  |  | +void gpr_thd_options_set_joinable(gpr_thd_options* options);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /** Returns non-zero if the option detached is set. */
 | 
	
		
			
				|  |  | -GPRAPI int gpr_thd_options_is_detached(const gpr_thd_options* options);
 | 
	
		
			
				|  |  | +int gpr_thd_options_is_detached(const gpr_thd_options* options);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /** Returns non-zero if the option joinable is set. */
 | 
	
		
			
				|  |  | -GPRAPI int gpr_thd_options_is_joinable(const gpr_thd_options* options);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -/** Returns the identifier of the current thread. */
 | 
	
		
			
				|  |  | -GPRAPI gpr_thd_id gpr_thd_currentid(void);
 | 
	
		
			
				|  |  | +int gpr_thd_options_is_joinable(const gpr_thd_options* options);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /** Blocks until the specified thread properly terminates.
 | 
	
		
			
				|  |  |     Calling this on a detached thread has unpredictable results. */
 | 
	
		
			
				|  |  | -GPRAPI void gpr_thd_join(gpr_thd_id t);
 | 
	
		
			
				|  |  | +void gpr_thd_join(gpr_thd_id t);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* Internal interfaces between modules within the gpr support library.  */
 | 
	
		
			
				|  |  | +void gpr_thd_init();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -#ifdef __cplusplus
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -#endif
 | 
	
		
			
				|  |  | +/* Wait for all outstanding threads to finish, up to deadline */
 | 
	
		
			
				|  |  | +int gpr_await_threads(gpr_timespec deadline);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -#endif /* GRPC_SUPPORT_THD_H */
 | 
	
		
			
				|  |  | +#endif /* GRPC_CORE_LIB_GPR_THD_H */
 |