grpc 1.13.0.pre1 → 1.13.0.pre3
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +3 -3
- data/src/core/lib/channel/handshaker.cc +17 -12
- data/src/core/lib/iomgr/exec_ctx.h +9 -2
- data/src/core/lib/iomgr/executor.cc +1 -1
- data/src/core/lib/iomgr/timer_manager.cc +1 -1
- data/src/core/lib/surface/version.cc +1 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- metadata +29 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32ae15b7709e0a7111167c9cdcfe280a1ab9ffbcfec9fdd5ce063e6423de7f60
|
4
|
+
data.tar.gz: 6f7292710d66e521773a29d89e425a18f4a59a5552b59eaab0520b8b42f2432d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7690a0bc231a7e7a75175510207e5926a2f3449cc744e2e74fac224843ac04baff62576d7d1f39d21ebdb74157843e77e739991e8b218dad199b353866838228
|
7
|
+
data.tar.gz: d26ec45bf26cfed6a692b1fe147b064e750336c71661bf19274223249c09dec9568c5c8a7da5d9dd86e4aa10a8e97974ef4c5ac18d6f0b07ca8ec8aa643000df
|
data/Makefile
CHANGED
@@ -420,9 +420,9 @@ E = @echo
|
|
420
420
|
Q = @
|
421
421
|
endif
|
422
422
|
|
423
|
-
CORE_VERSION = 6.0.0-
|
424
|
-
CPP_VERSION = 1.13.0-
|
425
|
-
CSHARP_VERSION = 1.13.0-
|
423
|
+
CORE_VERSION = 6.0.0-pre3
|
424
|
+
CPP_VERSION = 1.13.0-pre3
|
425
|
+
CSHARP_VERSION = 1.13.0-pre3
|
426
426
|
|
427
427
|
CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) $(addprefix -D, $(DEFINES))
|
428
428
|
CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
|
@@ -223,18 +223,23 @@ static bool call_next_handshaker_locked(grpc_handshake_manager* mgr,
|
|
223
223
|
mgr->index == mgr->count) {
|
224
224
|
if (error == GRPC_ERROR_NONE && mgr->shutdown) {
|
225
225
|
error = GRPC_ERROR_CREATE_FROM_STATIC_STRING("handshaker shutdown");
|
226
|
-
//
|
227
|
-
//
|
228
|
-
//
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
226
|
+
// It is possible that the endpoint has already been destroyed by
|
227
|
+
// a shutdown call while this callback was sitting on the ExecCtx
|
228
|
+
// with no error.
|
229
|
+
if (mgr->args.endpoint != nullptr) {
|
230
|
+
// TODO(roth): It is currently necessary to shutdown endpoints
|
231
|
+
// before destroying then, even when we know that there are no
|
232
|
+
// pending read/write callbacks. This should be fixed, at which
|
233
|
+
// point this can be removed.
|
234
|
+
grpc_endpoint_shutdown(mgr->args.endpoint, GRPC_ERROR_REF(error));
|
235
|
+
grpc_endpoint_destroy(mgr->args.endpoint);
|
236
|
+
mgr->args.endpoint = nullptr;
|
237
|
+
grpc_channel_args_destroy(mgr->args.args);
|
238
|
+
mgr->args.args = nullptr;
|
239
|
+
grpc_slice_buffer_destroy_internal(mgr->args.read_buffer);
|
240
|
+
gpr_free(mgr->args.read_buffer);
|
241
|
+
mgr->args.read_buffer = nullptr;
|
242
|
+
}
|
238
243
|
}
|
239
244
|
if (grpc_handshaker_trace.enabled()) {
|
240
245
|
gpr_log(GPR_INFO,
|
@@ -45,6 +45,9 @@ typedef struct grpc_combiner grpc_combiner;
|
|
45
45
|
/* The exec_ctx's thread is (potentially) owned by a call or channel: care
|
46
46
|
should be given to not delete said call/channel from this exec_ctx */
|
47
47
|
#define GRPC_EXEC_CTX_FLAG_THREAD_RESOURCE_LOOP 2
|
48
|
+
/* This exec ctx was initialized by an internal thread, and should not
|
49
|
+
be counted by fork handlers */
|
50
|
+
#define GRPC_EXEC_CTX_FLAG_IS_INTERNAL_THREAD 4
|
48
51
|
|
49
52
|
extern grpc_closure_scheduler* grpc_schedule_on_exec_ctx;
|
50
53
|
|
@@ -93,7 +96,9 @@ class ExecCtx {
|
|
93
96
|
|
94
97
|
/** Parameterised Constructor */
|
95
98
|
ExecCtx(uintptr_t fl) : flags_(fl) {
|
96
|
-
|
99
|
+
if (!(GRPC_EXEC_CTX_FLAG_IS_INTERNAL_THREAD & flags_)) {
|
100
|
+
grpc_core::Fork::IncExecCtxCount();
|
101
|
+
}
|
97
102
|
Set(this);
|
98
103
|
}
|
99
104
|
|
@@ -102,7 +107,9 @@ class ExecCtx {
|
|
102
107
|
flags_ |= GRPC_EXEC_CTX_FLAG_IS_FINISHED;
|
103
108
|
Flush();
|
104
109
|
Set(last_exec_ctx_);
|
105
|
-
|
110
|
+
if (!(GRPC_EXEC_CTX_FLAG_IS_INTERNAL_THREAD & flags_)) {
|
111
|
+
grpc_core::Fork::DecExecCtxCount();
|
112
|
+
}
|
106
113
|
}
|
107
114
|
|
108
115
|
/** Disallow copy and assignment operators */
|
@@ -145,7 +145,7 @@ static void executor_thread(void* arg) {
|
|
145
145
|
thread_state* ts = static_cast<thread_state*>(arg);
|
146
146
|
gpr_tls_set(&g_this_thread_state, (intptr_t)ts);
|
147
147
|
|
148
|
-
grpc_core::ExecCtx exec_ctx(
|
148
|
+
grpc_core::ExecCtx exec_ctx(GRPC_EXEC_CTX_FLAG_IS_INTERNAL_THREAD);
|
149
149
|
|
150
150
|
size_t subtract_depth = 0;
|
151
151
|
for (;;) {
|
@@ -265,7 +265,7 @@ static void timer_thread_cleanup(completed_thread* ct) {
|
|
265
265
|
static void timer_thread(void* completed_thread_ptr) {
|
266
266
|
// this threads exec_ctx: we try to run things through to completion here
|
267
267
|
// since it's easy to spin up new threads
|
268
|
-
grpc_core::ExecCtx exec_ctx(
|
268
|
+
grpc_core::ExecCtx exec_ctx(GRPC_EXEC_CTX_FLAG_IS_INTERNAL_THREAD);
|
269
269
|
timer_main_loop();
|
270
270
|
|
271
271
|
timer_thread_cleanup(static_cast<completed_thread*>(completed_thread_ptr));
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grpc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.13.0.
|
4
|
+
version: 1.13.0.pre3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- gRPC Authors
|
8
8
|
autorequire:
|
9
9
|
bindir: src/ruby/bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-06-
|
11
|
+
date: 2018-06-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-protobuf
|
@@ -1547,39 +1547,39 @@ signing_key:
|
|
1547
1547
|
specification_version: 4
|
1548
1548
|
summary: GRPC system in Ruby
|
1549
1549
|
test_files:
|
1550
|
-
- src/ruby/spec/
|
1551
|
-
- src/ruby/spec/error_sanity_spec.rb
|
1552
|
-
- src/ruby/spec/call_spec.rb
|
1553
|
-
- src/ruby/spec/support/helpers.rb
|
1554
|
-
- src/ruby/spec/support/services.rb
|
1555
|
-
- src/ruby/spec/server_credentials_spec.rb
|
1556
|
-
- src/ruby/spec/compression_options_spec.rb
|
1557
|
-
- src/ruby/spec/channel_connection_spec.rb
|
1558
|
-
- src/ruby/spec/call_credentials_spec.rb
|
1559
|
-
- src/ruby/spec/channel_credentials_spec.rb
|
1560
|
-
- src/ruby/spec/google_rpc_status_utils_spec.rb
|
1561
|
-
- src/ruby/spec/generic/rpc_desc_spec.rb
|
1562
|
-
- src/ruby/spec/generic/rpc_server_spec.rb
|
1563
|
-
- src/ruby/spec/generic/interceptor_registry_spec.rb
|
1564
|
-
- src/ruby/spec/generic/rpc_server_pool_spec.rb
|
1565
|
-
- src/ruby/spec/generic/client_stub_spec.rb
|
1566
|
-
- src/ruby/spec/generic/client_interceptors_spec.rb
|
1567
|
-
- src/ruby/spec/generic/server_interceptors_spec.rb
|
1568
|
-
- src/ruby/spec/generic/service_spec.rb
|
1569
|
-
- src/ruby/spec/generic/active_call_spec.rb
|
1550
|
+
- src/ruby/spec/testdata/server1.key
|
1570
1551
|
- src/ruby/spec/testdata/client.pem
|
1571
|
-
- src/ruby/spec/testdata/ca.pem
|
1572
1552
|
- src/ruby/spec/testdata/client.key
|
1573
1553
|
- src/ruby/spec/testdata/server1.pem
|
1574
|
-
- src/ruby/spec/testdata/
|
1554
|
+
- src/ruby/spec/testdata/ca.pem
|
1575
1555
|
- src/ruby/spec/testdata/README
|
1576
1556
|
- src/ruby/spec/client_auth_spec.rb
|
1577
|
-
- src/ruby/spec/
|
1578
|
-
- src/ruby/spec/pb/package_with_underscore/service.proto
|
1579
|
-
- src/ruby/spec/pb/package_with_underscore/data.proto
|
1557
|
+
- src/ruby/spec/channel_spec.rb
|
1580
1558
|
- src/ruby/spec/pb/health/checker_spec.rb
|
1581
1559
|
- src/ruby/spec/pb/duplicate/codegen_spec.rb
|
1582
|
-
- src/ruby/spec/
|
1560
|
+
- src/ruby/spec/pb/package_with_underscore/service.proto
|
1561
|
+
- src/ruby/spec/pb/package_with_underscore/checker_spec.rb
|
1562
|
+
- src/ruby/spec/pb/package_with_underscore/data.proto
|
1563
|
+
- src/ruby/spec/generic/active_call_spec.rb
|
1564
|
+
- src/ruby/spec/generic/rpc_server_pool_spec.rb
|
1565
|
+
- src/ruby/spec/generic/rpc_desc_spec.rb
|
1566
|
+
- src/ruby/spec/generic/client_interceptors_spec.rb
|
1567
|
+
- src/ruby/spec/generic/interceptor_registry_spec.rb
|
1568
|
+
- src/ruby/spec/generic/service_spec.rb
|
1569
|
+
- src/ruby/spec/generic/rpc_server_spec.rb
|
1570
|
+
- src/ruby/spec/generic/client_stub_spec.rb
|
1571
|
+
- src/ruby/spec/generic/server_interceptors_spec.rb
|
1572
|
+
- src/ruby/spec/support/services.rb
|
1573
|
+
- src/ruby/spec/support/helpers.rb
|
1574
|
+
- src/ruby/spec/client_server_spec.rb
|
1583
1575
|
- src/ruby/spec/server_spec.rb
|
1576
|
+
- src/ruby/spec/google_rpc_status_utils_spec.rb
|
1577
|
+
- src/ruby/spec/channel_connection_spec.rb
|
1578
|
+
- src/ruby/spec/time_consts_spec.rb
|
1579
|
+
- src/ruby/spec/call_credentials_spec.rb
|
1584
1580
|
- src/ruby/spec/spec_helper.rb
|
1585
|
-
- src/ruby/spec/
|
1581
|
+
- src/ruby/spec/compression_options_spec.rb
|
1582
|
+
- src/ruby/spec/error_sanity_spec.rb
|
1583
|
+
- src/ruby/spec/server_credentials_spec.rb
|
1584
|
+
- src/ruby/spec/channel_credentials_spec.rb
|
1585
|
+
- src/ruby/spec/call_spec.rb
|