From e018f9f2e8d1ed440032a2e4459135fb5fd093ea Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Wed, 3 Feb 2016 19:51:09 +0100 Subject: [PATCH] Almost there. --- setup.py | 1 - .../grpcio/grpc/_cython/_windows/grpc.def | 261 ------------------ src/python/grpcio/grpc/_cython/cygrpc.pyx | 2 +- src/python/grpcio/grpc/_cython/loader.c | 31 +-- 4 files changed, 5 insertions(+), 290 deletions(-) delete mode 100644 src/python/grpcio/grpc/_cython/_windows/grpc.def diff --git a/setup.py b/setup.py index 16c2056b750..1a3c838a10e 100644 --- a/setup.py +++ b/setup.py @@ -201,7 +201,6 @@ PACKAGE_DATA = { 'credentials/roots.pem' ], 'grpc._cython': [ - '_windows/grpc.def', '_windows/grpc_c.32.python', '_windows/grpc_c.64.python', ], diff --git a/src/python/grpcio/grpc/_cython/_windows/grpc.def b/src/python/grpcio/grpc/_cython/_windows/grpc.def deleted file mode 100644 index 4a1cc75cc91..00000000000 --- a/src/python/grpcio/grpc/_cython/_windows/grpc.def +++ /dev/null @@ -1,261 +0,0 @@ -EXPORTS - census_initialize - census_shutdown - census_supported - census_enabled - census_context_serialize - census_trace_mask - census_set_trace_mask - census_start_rpc_op_timestamp - census_start_client_rpc_op - census_set_rpc_client_peer - census_start_server_rpc_op - census_start_op - census_end_op - census_trace_print - census_trace_scan_start - census_get_trace_record - census_trace_scan_end - census_tag_set_create - census_tag_set_destroy - census_tag_set_get_create_status - census_tag_set_initialize_iterator - census_tag_set_next_tag - census_tag_set_get_tag_by_key - census_tag_set_encode - census_tag_set_decode - census_context_tag_set - census_record_values - census_view_create - census_view_delete - census_view_metric - census_view_naggregations - census_view_tags - census_view_aggregrations - census_view_get_data - census_view_reset - grpc_compression_algorithm_parse - grpc_compression_algorithm_name - grpc_compression_algorithm_for_level - grpc_compression_options_init - grpc_compression_options_enable_algorithm - grpc_compression_options_disable_algorithm - grpc_compression_options_is_algorithm_enabled - grpc_metadata_array_init - grpc_metadata_array_destroy - grpc_call_details_init - grpc_call_details_destroy - grpc_register_plugin - grpc_init - grpc_shutdown - grpc_version_string - grpc_completion_queue_create - grpc_completion_queue_next - grpc_completion_queue_pluck - grpc_completion_queue_shutdown - grpc_completion_queue_destroy - grpc_alarm_create - grpc_alarm_cancel - grpc_alarm_destroy - grpc_channel_check_connectivity_state - grpc_channel_watch_connectivity_state - grpc_channel_create_call - grpc_channel_ping - grpc_channel_register_call - grpc_channel_create_registered_call - grpc_call_start_batch - grpc_call_get_peer - grpc_census_call_set_context - grpc_census_call_get_context - grpc_channel_get_target - grpc_insecure_channel_create - grpc_lame_client_channel_create - grpc_channel_destroy - grpc_call_cancel - grpc_call_cancel_with_status - grpc_call_destroy - grpc_server_request_call - grpc_server_register_method - grpc_server_request_registered_call - grpc_server_create - grpc_server_register_completion_queue - grpc_server_add_insecure_http2_port - grpc_server_start - grpc_server_shutdown_and_notify - grpc_server_cancel_all_calls - grpc_server_destroy - grpc_tracer_set_enabled - grpc_header_key_is_legal - grpc_header_nonbin_value_is_legal - grpc_is_binary_header - grpc_auth_property_iterator_next - grpc_auth_context_property_iterator - grpc_auth_context_peer_identity - grpc_auth_context_find_properties_by_name - grpc_auth_context_peer_identity_property_name - grpc_auth_context_peer_is_authenticated - grpc_call_auth_context - grpc_auth_context_release - grpc_auth_context_add_property - grpc_auth_context_add_cstring_property - grpc_auth_context_set_peer_identity_property_name - grpc_channel_credentials_release - grpc_google_default_credentials_create - grpc_ssl_credentials_create - grpc_call_credentials_release - grpc_composite_channel_credentials_create - grpc_composite_call_credentials_create - grpc_google_compute_engine_credentials_create - grpc_max_auth_token_lifetime - grpc_service_account_jwt_access_credentials_create - grpc_google_refresh_token_credentials_create - grpc_access_token_credentials_create - grpc_google_iam_credentials_create - grpc_metadata_credentials_create_from_plugin - grpc_secure_channel_create - grpc_server_credentials_release - grpc_ssl_server_credentials_create - grpc_server_add_secure_http2_port - grpc_call_set_credentials - grpc_server_credentials_set_auth_metadata_processor - gpr_malloc - gpr_free - gpr_realloc - gpr_malloc_aligned - gpr_free_aligned - gpr_set_allocation_functions - gpr_get_allocation_functions - grpc_raw_byte_buffer_create - grpc_raw_compressed_byte_buffer_create - grpc_byte_buffer_copy - grpc_byte_buffer_length - grpc_byte_buffer_destroy - grpc_byte_buffer_reader_init - grpc_byte_buffer_reader_destroy - grpc_byte_buffer_reader_next - grpc_byte_buffer_reader_readall - grpc_raw_byte_buffer_from_reader - gpr_log - gpr_log_message - gpr_set_log_function - gpr_slice_ref - gpr_slice_unref - gpr_slice_new - gpr_slice_new_with_len - gpr_slice_malloc - gpr_slice_from_copied_string - gpr_slice_from_copied_buffer - gpr_slice_from_static_string - gpr_slice_sub - gpr_slice_sub_no_ref - gpr_slice_split_tail - gpr_slice_split_head - gpr_empty_slice - gpr_slice_cmp - gpr_slice_str_cmp - gpr_slice_buffer_init - gpr_slice_buffer_destroy - gpr_slice_buffer_add - gpr_slice_buffer_add_indexed - gpr_slice_buffer_addn - gpr_slice_buffer_tiny_add - gpr_slice_buffer_pop - gpr_slice_buffer_reset_and_unref - gpr_slice_buffer_swap - gpr_slice_buffer_move_into - gpr_slice_buffer_trim_end - gpr_slice_buffer_move_first - gpr_slice_buffer_take_first - gpr_mu_init - gpr_mu_destroy - gpr_mu_lock - gpr_mu_unlock - gpr_mu_trylock - gpr_cv_init - gpr_cv_destroy - gpr_cv_wait - gpr_cv_signal - gpr_cv_broadcast - gpr_once_init - gpr_event_init - gpr_event_set - gpr_event_get - gpr_event_wait - gpr_ref_init - gpr_ref - gpr_refn - gpr_unref - gpr_stats_init - gpr_stats_inc - gpr_stats_read - gpr_time_0 - gpr_inf_future - gpr_inf_past - gpr_time_init - gpr_now - gpr_convert_clock_type - gpr_time_cmp - gpr_time_max - gpr_time_min - gpr_time_add - gpr_time_sub - gpr_time_from_micros - gpr_time_from_nanos - gpr_time_from_millis - gpr_time_from_seconds - gpr_time_from_minutes - gpr_time_from_hours - gpr_time_to_millis - gpr_time_similar - gpr_sleep_until - gpr_timespec_to_micros - gpr_avl_create - gpr_avl_ref - gpr_avl_unref - gpr_avl_add - gpr_avl_remove - gpr_avl_get - gpr_cmdline_create - gpr_cmdline_add_int - gpr_cmdline_add_flag - gpr_cmdline_add_string - gpr_cmdline_on_extra_arg - gpr_cmdline_set_survive_failure - gpr_cmdline_parse - gpr_cmdline_destroy - gpr_cmdline_usage_string - gpr_cpu_num_cores - gpr_cpu_current_cpu - gpr_histogram_create - gpr_histogram_destroy - gpr_histogram_add - gpr_histogram_merge - gpr_histogram_percentile - gpr_histogram_mean - gpr_histogram_stddev - gpr_histogram_variance - gpr_histogram_maximum - gpr_histogram_minimum - gpr_histogram_count - gpr_histogram_sum - gpr_histogram_sum_of_squares - gpr_histogram_get_contents - gpr_histogram_merge_contents - gpr_join_host_port - gpr_split_host_port - gpr_format_message - gpr_strdup - gpr_asprintf - gpr_subprocess_binary_extension - gpr_subprocess_create - gpr_subprocess_destroy - gpr_subprocess_join - gpr_subprocess_interrupt - gpr_thd_new - gpr_thd_options_default - gpr_thd_options_set_detached - gpr_thd_options_set_joinable - gpr_thd_options_is_detached - gpr_thd_options_is_joinable - gpr_thd_currentid - gpr_thd_join diff --git a/src/python/grpcio/grpc/_cython/cygrpc.pyx b/src/python/grpcio/grpc/_cython/cygrpc.pyx index f30fb17239b..f2e7ca49b25 100644 --- a/src/python/grpcio/grpc/_cython/cygrpc.pyx +++ b/src/python/grpcio/grpc/_cython/cygrpc.pyx @@ -48,7 +48,7 @@ include "grpc/_cython/_cygrpc/server.pyx.pxi" cdef class _ModuleState: def __cinit__(self): - filename = pkg_resources.resource_filename(__name__, '_windows/grpc.def') + filename = pkg_resources.resource_filename(__name__, '_windows/grpc_c.64.python') directory = os.path.dirname(filename) if not pygrpc_load_core(directory): raise ImportError('failed to load core gRPC library') diff --git a/src/python/grpcio/grpc/_cython/loader.c b/src/python/grpcio/grpc/_cython/loader.c index f234c4af964..b56693dfb18 100644 --- a/src/python/grpcio/grpc/_cython/loader.c +++ b/src/python/grpcio/grpc/_cython/loader.c @@ -34,35 +34,12 @@ #include "loader.h" #if GPR_WIN32 -#include int pygrpc_load_core(const char *path) { - if (!SetDllDirectoryA(path)) { - return 0; - } -#if GPR_ARCH_64 - TCHAR fname[] = _T("grpc_c.64.python"); -#else - TCHAR fname[] = _T("grpc_c.32.python"); -#endif - HMODULE module = GetModuleHandle(_T("grpc_c.so")); - TCHAR path[2048 + 32] = _T(""); - LPTSTR seek_back = NULL; - GetModuleFileName(module, path, 2048); - - seek_back = _tcsrchr(path, _T('\\')); - - while (seek_back) { - HMODULE grpc_c; - _tcscpy(seek_back + 1, fname); - grpc_c = LoadLibrary(path); - if (grpc_c) { - pygrpc_load_imports(grpc_c); - return 1; - } else { - *seek_back = _T('\0'); - seek_back = _tcsrchr(path, _T('\\')); - } + HMODULE grpc_c = LoadLibraryA(path); + if (grpc_c) { + pygrpc_load_imports(grpc_c); + return 1; } return 0;