void rpc_ss_client_establish_alloc ( rpc_ss_marsh_state_t *p_unmar_params ) { rpc_ss_thread_support_ptrs_t *p_support_ptrs; rpc_ss_client_get_thread_ctx( &p_support_ptrs ); p_unmar_params->allocator = p_support_ptrs->allocator; }
void rpc_ss_client_free ( idl_void_p_t p_mem ) { rpc_ss_thread_support_ptrs_t *p_support_ptrs; /* Get free routine address */ rpc_ss_client_get_thread_ctx( &p_support_ptrs ); /* Invoke free with the specified memory */ rpc_allocator_free(&p_support_ptrs->allocator, p_mem); }
void rpc_ss_set_client_alloc_free_ex ( rpc_ss_allocator_t * p_allocator ) { rpc_ss_thread_support_ptrs_t *p_support_ptrs; rpc_ss_client_get_thread_ctx( &p_support_ptrs ); /* Make sure we don't lose a context object. */ assert(p_support_ptrs->allocator.p_context == NULL); p_support_ptrs->allocator = *p_allocator; }
void rpc_ss_set_client_alloc_free ( idl_void_p_t (*p_allocate)( idl_size_t size ), void (*p_free)( idl_void_p_t ptr ) ) { rpc_ss_thread_support_ptrs_t *p_support_ptrs; rpc_ss_client_get_thread_ctx( &p_support_ptrs ); p_support_ptrs->p_allocate = p_allocate; p_support_ptrs->p_free = p_free; }
void rpc_ss_swap_client_alloc_free_ex ( rpc_ss_allocator_t * p_allocator, rpc_ss_allocator_t * p_old_allocator ) { rpc_ss_allocator_t allocator; rpc_ss_thread_support_ptrs_t *p_support_ptrs; rpc_ss_client_get_thread_ctx( &p_support_ptrs ); /* Make sure it is safe for the old and new pointers to point * to the same allocator. */ allocator = *p_allocator; *p_old_allocator = p_support_ptrs->allocator; p_support_ptrs->allocator = allocator; }
void rpc_ss_mts_client_estab_alloc ( volatile IDL_ms_t * IDL_msp ) { rpc_ss_thread_support_ptrs_t *p_support_ptrs; #ifdef PERFMON RPC_SS_CLIENT_ESTABLISH_ALLOC_N; #endif rpc_ss_client_get_thread_ctx( &p_support_ptrs ); IDL_msp->IDL_allocator = p_support_ptrs->allocator; #ifdef PERFMON RPC_SS_CLIENT_ESTABLISH_ALLOC_X; #endif }