diff options
author | Nicolas "Pixel" Noble <pixel@nobis-crew.org> | 2015-02-21 07:39:56 +0100 |
---|---|---|
committer | Nicolas "Pixel" Noble <pixel@nobis-crew.org> | 2015-02-21 07:39:56 +0100 |
commit | c6d8f5a3aecc5e8812e9bedbf3107727fa561b11 (patch) | |
tree | 56e232dba29473e44dbedd7b7aa064a0939124b8 | |
parent | 94964fd0b25217fe42cbd0b664e7f9778cf7bccb (diff) | |
parent | 7db49ff5b4b15f660612d5bc0514093ed6d236ef (diff) |
Merge branch 'master' of github.com:google/grpc into win32
-rw-r--r-- | Makefile | 43 | ||||
-rw-r--r-- | src/core/debug/trace.c | 2 | ||||
-rw-r--r-- | src/core/iomgr/pollset_multipoller_with_poll_posix.c | 4 | ||||
-rw-r--r-- | src/core/iomgr/pollset_posix.c | 8 | ||||
-rw-r--r-- | src/core/iomgr/resolve_address_posix.c | 2 | ||||
-rw-r--r-- | templates/Makefile.template | 43 |
6 files changed, 84 insertions, 18 deletions
@@ -234,6 +234,7 @@ OPENSSL_ALPN_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o /dev/null test/build/ope ZLIB_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o /dev/null test/build/zlib.c -lz $(LDFLAGS) PERFTOOLS_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o /dev/null test/build/perftools.c -lprofiler $(LDFLAGS) PROTOBUF_CHECK_CMD = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -o /dev/null test/build/protobuf.cc -lprotobuf $(LDFLAGS) +PROTOC_CMD = which protoc PROTOC_CHECK_CMD = protoc --version | grep -q libprotoc.3 ifndef REQUIRE_CUSTOM_LIBRARIES_$(CONFIG) @@ -244,10 +245,11 @@ LIBS += profiler endif endif +HAS_SYSTEM_PROTOBUF_VERIFY = $(shell $(PROTOBUF_CHECK_CMD) 2> /dev/null && echo true || echo false) ifndef REQUIRE_CUSTOM_LIBRARIES_$(CONFIG) HAS_SYSTEM_OPENSSL_ALPN = $(shell $(OPENSSL_ALPN_CHECK_CMD) 2> /dev/null && echo true || echo false) HAS_SYSTEM_ZLIB = $(shell $(ZLIB_CHECK_CMD) 2> /dev/null && echo true || echo false) -HAS_SYSTEM_PROTOBUF = $(shell $(PROTOBUF_CHECK_CMD) 2> /dev/null && echo true || echo false) +HAS_SYSTEM_PROTOBUF = $(HAS_SYSTEM_PROTOBUF_VERIFY) else # override system libraries if the config requires a custom compiled library HAS_SYSTEM_OPENSSL_ALPN = false @@ -255,7 +257,12 @@ HAS_SYSTEM_ZLIB = false HAS_SYSTEM_PROTOBUF = false endif +HAS_PROTOC = $(shell $(PROTOC_CMD) && echo true || echo false) +ifeq ($(HAS_PROTOC),true) HAS_VALID_PROTOC = $(shell $(PROTOC_CHECK_CMD) 2> /dev/null && echo true || echo false) +else +HAS_VALID_PROTOC = false +endif ifeq ($(wildcard third_party/openssl/ssl/ssl.h),) HAS_EMBEDDED_OPENSSL_ALPN = false @@ -308,8 +315,8 @@ LDLIBS_SECURE += $(addprefix -l, $(LIBS_SECURE)) ifeq ($(HAS_SYSTEM_PROTOBUF),false) ifeq ($(HAS_EMBEDDED_PROTOBUF),true) PROTOBUF_DEP = $(LIBDIR)/$(CONFIG)/protobuf/libprotobuf.a -CPPFLAGS += -Ithird_party/protobuf/src -LDFLAGS += -L$(LIBDIR)/$(CONFIG)/protobuf +CPPFLAGS := -Ithird_party/protobuf/src $(CPPFLAGS) +LDFLAGS := -L$(LIBDIR)/$(CONFIG)/protobuf $(LDFLAGS) PROTOC = $(BINDIR)/$(CONFIG)/protobuf/protoc else NO_PROTOBUF = true @@ -327,6 +334,13 @@ ifeq ($(MAKECMDGOALS),clean) NO_DEPS = true endif +INSTALL_OK = false +ifeq ($(HAS_VALID_PROTOC),true) +ifeq ($(HAS_SYSTEM_PROTOBUF_VERIFY),true) +INSTALL_OK = true +endif +endif + .SECONDARY = %.pb.h %.pb.cc PROTOC_PLUGINS = $(BINDIR)/$(CONFIG)/grpc_cpp_plugin $(BINDIR)/$(CONFIG)/grpc_python_plugin $(BINDIR)/$(CONFIG)/grpc_ruby_plugin @@ -880,7 +894,7 @@ third_party/protobuf/configure: $(LIBDIR)/$(CONFIG)/protobuf/libprotobuf.a: third_party/protobuf/configure $(E) "[MAKE] Building protobuf" - $(Q)(cd third_party/protobuf ; CC="$(CC)" CPPFLAGS="-fPIC" CXX="$(CXX)" LDFLAGS="$(LDFLAGS_$(CONFIG)) -g" CXXFLAGS="-DLANG_CXX11 -std=c++11" CPPFLAGS="$(CPPFLAGS_$(CONFIG)) -g" ./configure --disable-shared --enable-static) + $(Q)(cd third_party/protobuf ; CC="$(CC)" CXX="$(CXX)" LDFLAGS="$(LDFLAGS_$(CONFIG)) -g" CXXFLAGS="-DLANG_CXX11 -std=c++11" CPPFLAGS="-fPIC $(CPPFLAGS_$(CONFIG)) -g" ./configure --disable-shared --enable-static) $(Q)$(MAKE) -C third_party/protobuf clean $(Q)$(MAKE) -C third_party/protobuf $(Q)mkdir -p $(LIBDIR)/$(CONFIG)/protobuf @@ -1915,7 +1929,7 @@ $(OBJDIR)/$(CONFIG)/%.o : %.cc $(Q) $(CXX) $(CXXFLAGS) $(CPPFLAGS) -MMD -MF $(addsuffix .dep, $(basename $@)) -c -o $@ $< -install: install_c install_cxx install-plugins +install: install_c install_cxx install-plugins verify-install install_c: install-headers_c install-static_c install-shared_c @@ -2059,6 +2073,25 @@ else $(Q) $(INSTALL) $(BINDIR)/$(CONFIG)/grpc_ruby_plugin $(prefix)/bin/grpc_ruby_plugin endif +verify-install: +ifeq ($(SYSTEM_OK),true) + @echo "Your system looks ready to go." + @echo +else + @echo "Your system doesn't have protoc 3.0.0+ installed. While this" + @echo "won't prevent grpc from working, you won't be able to compile" + @echo "and run any meaningful code with it." + @echo + @echo + @echo "Please download and install protobuf 3.0.0+ from:" + @echo + @echo " https://github.com/google/protobuf/releases" + @echo + @echo "Once you've done so, you can re-run this check by doing:" + @echo + @echo " make verify-install" +endif + clean: $(E) "[CLEAN] Cleaning build directories." $(Q) $(RM) -rf $(OBJDIR) $(LIBDIR) $(BINDIR) $(GENDIR) diff --git a/src/core/debug/trace.c b/src/core/debug/trace.c index cdbe168fc8..92acbe924d 100644 --- a/src/core/debug/trace.c +++ b/src/core/debug/trace.c @@ -40,7 +40,7 @@ #include "src/core/support/env.h" #if GRPC_ENABLE_TRACING -gpr_uint32 grpc_trace_bits; +gpr_uint32 grpc_trace_bits = 0; static void add(const char *beg, const char *end, char ***ss, size_t *ns) { size_t n = *ns; diff --git a/src/core/iomgr/pollset_multipoller_with_poll_posix.c b/src/core/iomgr/pollset_multipoller_with_poll_posix.c index fbacad1e99..7570ff18c5 100644 --- a/src/core/iomgr/pollset_multipoller_with_poll_posix.c +++ b/src/core/iomgr/pollset_multipoller_with_poll_posix.c @@ -183,10 +183,10 @@ static int multipoll_with_poll_pollset_maybe_work( grpc_pollset_kick_consume(&pollset->kick_state); } for (i = 1; i < np; i++) { - if (h->pfds[i].revents & POLLIN) { + if (h->pfds[i].revents & (POLLIN | POLLHUP | POLLERR)) { grpc_fd_become_readable(h->watchers[i].fd, allow_synchronous_callback); } - if (h->pfds[i].revents & POLLOUT) { + if (h->pfds[i].revents & (POLLOUT | POLLHUP | POLLERR)) { grpc_fd_become_writable(h->watchers[i].fd, allow_synchronous_callback); } } diff --git a/src/core/iomgr/pollset_posix.c b/src/core/iomgr/pollset_posix.c index 05b78adeb6..87e7aa85ee 100644 --- a/src/core/iomgr/pollset_posix.c +++ b/src/core/iomgr/pollset_posix.c @@ -63,9 +63,9 @@ static void backup_poller(void *p) { gpr_mu_lock(&g_backup_pollset.mu); while (g_shutdown_backup_poller == 0) { gpr_timespec next_poll = gpr_time_add(last_poll, delta); - grpc_pollset_work(&g_backup_pollset, next_poll); + grpc_pollset_work(&g_backup_pollset, gpr_time_add(gpr_now(), gpr_time_from_seconds(1))); gpr_mu_unlock(&g_backup_pollset.mu); - gpr_sleep_until(next_poll); + /*gpr_sleep_until(next_poll);*/ gpr_mu_lock(&g_backup_pollset.mu); last_poll = next_poll; } @@ -277,10 +277,10 @@ static int unary_poll_pollset_maybe_work(grpc_pollset *pollset, if (pfd[0].revents & POLLIN) { grpc_pollset_kick_consume(&pollset->kick_state); } - if (pfd[1].revents & POLLIN) { + if (pfd[1].revents & (POLLIN | POLLHUP | POLLERR)) { grpc_fd_become_readable(fd, allow_synchronous_callback); } - if (pfd[1].revents & POLLOUT) { + if (pfd[1].revents & (POLLOUT | POLLHUP | POLLERR)) { grpc_fd_become_writable(fd, allow_synchronous_callback); } } diff --git a/src/core/iomgr/resolve_address_posix.c b/src/core/iomgr/resolve_address_posix.c index 41a690d869..f172ba9e21 100644 --- a/src/core/iomgr/resolve_address_posix.c +++ b/src/core/iomgr/resolve_address_posix.c @@ -133,7 +133,7 @@ grpc_resolved_addresses *grpc_blocking_resolve_address( un = (struct sockaddr_un *)addrs->addrs->addr; un->sun_family = AF_UNIX; strcpy(un->sun_path, name + 5); - addrs->addrs->len = strlen(un->sun_path) + sizeof(un->sun_family); + addrs->addrs->len = strlen(un->sun_path) + sizeof(un->sun_family) + 1; return addrs; } diff --git a/templates/Makefile.template b/templates/Makefile.template index 0ac901f69b..a93e23638d 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -251,6 +251,7 @@ OPENSSL_ALPN_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o /dev/null test/build/ope ZLIB_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o /dev/null test/build/zlib.c -lz $(LDFLAGS) PERFTOOLS_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o /dev/null test/build/perftools.c -lprofiler $(LDFLAGS) PROTOBUF_CHECK_CMD = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -o /dev/null test/build/protobuf.cc -lprotobuf $(LDFLAGS) +PROTOC_CMD = which protoc PROTOC_CHECK_CMD = protoc --version | grep -q libprotoc.3 ifndef REQUIRE_CUSTOM_LIBRARIES_$(CONFIG) @@ -261,10 +262,11 @@ LIBS += profiler endif endif +HAS_SYSTEM_PROTOBUF_VERIFY = $(shell $(PROTOBUF_CHECK_CMD) 2> /dev/null && echo true || echo false) ifndef REQUIRE_CUSTOM_LIBRARIES_$(CONFIG) HAS_SYSTEM_OPENSSL_ALPN = $(shell $(OPENSSL_ALPN_CHECK_CMD) 2> /dev/null && echo true || echo false) HAS_SYSTEM_ZLIB = $(shell $(ZLIB_CHECK_CMD) 2> /dev/null && echo true || echo false) -HAS_SYSTEM_PROTOBUF = $(shell $(PROTOBUF_CHECK_CMD) 2> /dev/null && echo true || echo false) +HAS_SYSTEM_PROTOBUF = $(HAS_SYSTEM_PROTOBUF_VERIFY) else # override system libraries if the config requires a custom compiled library HAS_SYSTEM_OPENSSL_ALPN = false @@ -272,7 +274,12 @@ HAS_SYSTEM_ZLIB = false HAS_SYSTEM_PROTOBUF = false endif +HAS_PROTOC = $(shell $(PROTOC_CMD) && echo true || echo false) +ifeq ($(HAS_PROTOC),true) HAS_VALID_PROTOC = $(shell $(PROTOC_CHECK_CMD) 2> /dev/null && echo true || echo false) +else +HAS_VALID_PROTOC = false +endif ifeq ($(wildcard third_party/openssl/ssl/ssl.h),) HAS_EMBEDDED_OPENSSL_ALPN = false @@ -325,8 +332,8 @@ LDLIBS_SECURE += $(addprefix -l, $(LIBS_SECURE)) ifeq ($(HAS_SYSTEM_PROTOBUF),false) ifeq ($(HAS_EMBEDDED_PROTOBUF),true) PROTOBUF_DEP = $(LIBDIR)/$(CONFIG)/protobuf/libprotobuf.a -CPPFLAGS += -Ithird_party/protobuf/src -LDFLAGS += -L$(LIBDIR)/$(CONFIG)/protobuf +CPPFLAGS := -Ithird_party/protobuf/src $(CPPFLAGS) +LDFLAGS := -L$(LIBDIR)/$(CONFIG)/protobuf $(LDFLAGS) PROTOC = $(BINDIR)/$(CONFIG)/protobuf/protoc else NO_PROTOBUF = true @@ -344,6 +351,13 @@ ifeq ($(MAKECMDGOALS),clean) NO_DEPS = true endif +INSTALL_OK = false +ifeq ($(HAS_VALID_PROTOC),true) +ifeq ($(HAS_SYSTEM_PROTOBUF_VERIFY),true) +INSTALL_OK = true +endif +endif + .SECONDARY = %.pb.h %.pb.cc PROTOC_PLUGINS =\ @@ -481,7 +495,7 @@ third_party/protobuf/configure: $(LIBDIR)/$(CONFIG)/protobuf/libprotobuf.a: third_party/protobuf/configure $(E) "[MAKE] Building protobuf" - $(Q)(cd third_party/protobuf ; CC="$(CC)" CPPFLAGS="-fPIC" CXX="$(CXX)" LDFLAGS="$(LDFLAGS_$(CONFIG)) -g" CXXFLAGS="-DLANG_CXX11 -std=c++11" CPPFLAGS="$(CPPFLAGS_$(CONFIG)) -g" ./configure --disable-shared --enable-static) + $(Q)(cd third_party/protobuf ; CC="$(CC)" CXX="$(CXX)" LDFLAGS="$(LDFLAGS_$(CONFIG)) -g" CXXFLAGS="-DLANG_CXX11 -std=c++11" CPPFLAGS="-fPIC $(CPPFLAGS_$(CONFIG)) -g" ./configure --disable-shared --enable-static) $(Q)$(MAKE) -C third_party/protobuf clean $(Q)$(MAKE) -C third_party/protobuf $(Q)mkdir -p $(LIBDIR)/$(CONFIG)/protobuf @@ -715,7 +729,7 @@ $(OBJDIR)/$(CONFIG)/%.o : %.cc $(Q) $(CXX) $(CXXFLAGS) $(CPPFLAGS) -MMD -MF $(addsuffix .dep, $(basename $@)) -c -o $@ $< -install: install_c install_cxx install-plugins +install: install_c install_cxx install-plugins verify-install install_c: install-headers_c install-static_c install-shared_c @@ -810,6 +824,25 @@ else % endfor endif +verify-install: +ifeq ($(SYSTEM_OK),true) + @echo "Your system looks ready to go." + @echo +else + @echo "Your system doesn't have protoc 3.0.0+ installed. While this" + @echo "won't prevent grpc from working, you won't be able to compile" + @echo "and run any meaningful code with it." + @echo + @echo + @echo "Please download and install protobuf 3.0.0+ from:" + @echo + @echo " https://github.com/google/protobuf/releases" + @echo + @echo "Once you've done so, you can re-run this check by doing:" + @echo + @echo " make verify-install" +endif + clean: $(E) "[CLEAN] Cleaning build directories." $(Q) $(RM) -rf $(OBJDIR) $(LIBDIR) $(BINDIR) $(GENDIR) |