grpc 1.8.0 → 1.8.3
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 +2 -2
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +0 -2
- data/src/core/lib/iomgr/ev_epollex_linux.cc +0 -2
- data/src/core/lib/iomgr/ev_epollsig_linux.cc +0 -2
- data/src/core/lib/iomgr/ev_poll_posix.cc +10 -1
- data/src/core/lib/iomgr/tcp_client_windows.cc +1 -0
- data/src/ruby/lib/grpc/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '0608a89917ee43dca921f344a0e999259a4359f188cae5bf21f09f08298d66da'
|
4
|
+
data.tar.gz: 8c5a07aef607e15c825f21ff993e761542c27bc5e2539945a78e20617f6bfe36
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '09c712f7d2136cf6582b103412c93726f36de3d2ad8a52f14432be730b0edfc1891cc3920d8375a64143304480a7459d04b988d360dade90dbdc0980ef94070e'
|
7
|
+
data.tar.gz: 92d5ff1d379b7caf349974f4665e4b489f4cb2d7d380d95fc5fab5f2eb1b09f414741754215966afd7f3d214c61b9ed6fce386e7fbe262854113548ff0034505
|
data/Makefile
CHANGED
@@ -412,8 +412,8 @@ Q = @
|
|
412
412
|
endif
|
413
413
|
|
414
414
|
CORE_VERSION = 5.0.0
|
415
|
-
CPP_VERSION = 1.8.
|
416
|
-
CSHARP_VERSION = 1.8.
|
415
|
+
CPP_VERSION = 1.8.3
|
416
|
+
CSHARP_VERSION = 1.8.3
|
417
417
|
|
418
418
|
CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) $(addprefix -D, $(DEFINES))
|
419
419
|
CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
|
@@ -1258,8 +1258,6 @@ const grpc_event_engine_vtable* grpc_init_epoll1_linux(bool explicit_request) {
|
|
1258
1258
|
/* If GRPC_LINUX_EPOLL is not defined, it means epoll is not available. Return
|
1259
1259
|
* NULL */
|
1260
1260
|
const grpc_event_engine_vtable* grpc_init_epoll1_linux(bool explicit_request) {
|
1261
|
-
gpr_log(GPR_ERROR,
|
1262
|
-
"Skipping epoll1 becuase GRPC_LINUX_EPOLL is not defined.");
|
1263
1261
|
return NULL;
|
1264
1262
|
}
|
1265
1263
|
#endif /* defined(GRPC_POSIX_SOCKET) */
|
@@ -1479,8 +1479,6 @@ const grpc_event_engine_vtable* grpc_init_epollex_linux(
|
|
1479
1479
|
* NULL */
|
1480
1480
|
const grpc_event_engine_vtable* grpc_init_epollex_linux(
|
1481
1481
|
bool explicitly_requested) {
|
1482
|
-
gpr_log(GPR_ERROR,
|
1483
|
-
"Skipping epollex becuase GRPC_LINUX_EPOLL is not defined.");
|
1484
1482
|
return NULL;
|
1485
1483
|
}
|
1486
1484
|
#endif /* defined(GRPC_POSIX_SOCKET) */
|
@@ -1758,8 +1758,6 @@ const grpc_event_engine_vtable* grpc_init_epollsig_linux(
|
|
1758
1758
|
* NULL */
|
1759
1759
|
const grpc_event_engine_vtable* grpc_init_epollsig_linux(
|
1760
1760
|
bool explicit_request) {
|
1761
|
-
gpr_log(GPR_ERROR,
|
1762
|
-
"Skipping epollsig becuase GRPC_LINUX_EPOLL is not defined.");
|
1763
1761
|
return NULL;
|
1764
1762
|
}
|
1765
1763
|
#endif /* defined(GRPC_POSIX_SOCKET) */
|
@@ -71,6 +71,7 @@ struct grpc_fd {
|
|
71
71
|
int shutdown;
|
72
72
|
int closed;
|
73
73
|
int released;
|
74
|
+
gpr_atm pollhup;
|
74
75
|
grpc_error* shutdown_error;
|
75
76
|
|
76
77
|
/* The watcher list.
|
@@ -339,6 +340,7 @@ static grpc_fd* fd_create(int fd, const char* name) {
|
|
339
340
|
r->on_done_closure = nullptr;
|
340
341
|
r->closed = 0;
|
341
342
|
r->released = 0;
|
343
|
+
gpr_atm_no_barrier_store(&r->pollhup, 0);
|
342
344
|
r->read_notifier_pollset = nullptr;
|
343
345
|
|
344
346
|
char* name2;
|
@@ -964,7 +966,8 @@ static grpc_error* pollset_work(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset,
|
|
964
966
|
pfds[0].events = POLLIN;
|
965
967
|
pfds[0].revents = 0;
|
966
968
|
for (i = 0; i < pollset->fd_count; i++) {
|
967
|
-
if (fd_is_orphaned(pollset->fds[i])
|
969
|
+
if (fd_is_orphaned(pollset->fds[i]) ||
|
970
|
+
gpr_atm_no_barrier_load(&pollset->fds[i]->pollhup) == 1) {
|
968
971
|
GRPC_FD_UNREF(pollset->fds[i], "multipoller");
|
969
972
|
} else {
|
970
973
|
pollset->fds[fd_count++] = pollset->fds[i];
|
@@ -1031,6 +1034,12 @@ static grpc_error* pollset_work(grpc_exec_ctx* exec_ctx, grpc_pollset* pollset,
|
|
1031
1034
|
pfds[i].fd, (pfds[i].revents & POLLIN_CHECK) != 0,
|
1032
1035
|
(pfds[i].revents & POLLOUT_CHECK) != 0, pfds[i].revents);
|
1033
1036
|
}
|
1037
|
+
/* This is a mitigation to prevent poll() from spinning on a
|
1038
|
+
** POLLHUP https://github.com/grpc/grpc/pull/13665
|
1039
|
+
*/
|
1040
|
+
if (pfds[i].revents & POLLHUP) {
|
1041
|
+
gpr_atm_no_barrier_store(&watchers[i].fd->pollhup, 1);
|
1042
|
+
}
|
1034
1043
|
fd_end_poll(exec_ctx, &watchers[i], pfds[i].revents & POLLIN_CHECK,
|
1035
1044
|
pfds[i].revents & POLLOUT_CHECK, pollset);
|
1036
1045
|
}
|
@@ -104,6 +104,7 @@ static void on_connect(grpc_exec_ctx* exec_ctx, void* acp, grpc_error* error) {
|
|
104
104
|
GPR_ASSERT(transfered_bytes == 0);
|
105
105
|
if (!wsa_success) {
|
106
106
|
error = GRPC_WSA_ERROR(WSAGetLastError(), "ConnectEx");
|
107
|
+
closesocket(socket->socket);
|
107
108
|
} else {
|
108
109
|
*ep =
|
109
110
|
grpc_tcp_create(exec_ctx, socket, ac->channel_args, ac->addr_name);
|
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.8.
|
4
|
+
version: 1.8.3
|
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:
|
11
|
+
date: 2018-01-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-protobuf
|
@@ -1433,7 +1433,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1433
1433
|
version: '0'
|
1434
1434
|
requirements: []
|
1435
1435
|
rubyforge_project:
|
1436
|
-
rubygems_version: 2.7.
|
1436
|
+
rubygems_version: 2.7.4
|
1437
1437
|
signing_key:
|
1438
1438
|
specification_version: 4
|
1439
1439
|
summary: GRPC system in Ruby
|