See https://github.com/grpc/grpc/issues/38210#issuecomment-2783948947 for context
Now that Event Engine is enabled, we no longer need the channel polling thread, so we can remove it.
Fork support (with event engine left enabled), is still broken on this PR as it is on master, but it will get cleaned up after https://github.com/grpc/grpc/pull/38980 (tested by manually merging and running fork tests)
While we're here:
- Regenerate greeter example protos
- Remove `channel_state_test.rb` in favor of `connectivity_watch_interrupted_test.rb`. The former was skipped due to https://bugs.ruby-lang.org/issues/15499, the new test changes things so that we no longer hit that bug, but still exercise the no_gvl connectivity state watch machinery.
- tweaks to fork tests (they are not running continuously but we should be able to re-enable them again after https://github.com/grpc/grpc/pull/38980 lands
Closes#39409
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/39409 from apolcyn:fix_bugs 3e3ae7d81fcbd13b1d0eed6b13c7c39fe1bd1030
PiperOrigin-RevId: 766790187
* replace darwin checks in extconf.rb to exclude TruffleRuby
* inherit RANLIB and STRIP from RbConfig, set LDXX
* enable overriding ranlib command in top-level makefile
* ensure the -no_warning_for_no_symbols flag is only used with Apple's ranlib
* don't embed openssl & zlib on truffleruby
* add RbConfig's cppflag to CPPFLAGS when using TruffleRuby
* this ensure the paths to find the system's OpenSSL are set up correctly with TruffleRuby (includes being able to find an OpenSSL installed via Homebrew etc)
* don't statically link standard libraries on Linux with Truffleruby
* This does not work when compiling to bitcode.
* Prefer SIGTERM to SIGQUIT for graceful shutdown in examples
* Overriding SIGQUIT is suboptimal, for example on JVM where it is very
useful to dump the thread stacktraces.
* Keep the rb_tr_abi_version symbol for TruffleRuby in grpc_c.so
* Otherwise TruffleRuby cannot verify the ABI version is correct.
* See https://github.com/oracle/truffleruby/issues/2386
* Use RbConfig::CONFIG['STRIP'] instead of just `strip`
* Use a local variable for apple_toolchain for consistency
* Add a comment about -static-libgcc -static-libstdc++ and TruffleRuby
* Split comment into two for openssl/zlib
Co-authored-by: Nicolas Laurent <nicolas.laurent@oracle.com>
so that grpc does not depends on googleauth gem.
This project (pubsub demo) is introduced at [this
commit](d5d00d5c8f (diff-c495642bb64c09cae54f3ccff463bd51))
as demo project for grpc with ruby.
This demo is awesome. But the position of this project directory seems
to be not suitable for demo app. This project added unnecessary gem dependency about googleauth to grpc ruby gem.