Merge pull request #19454 from guantaol/no_backup_poller

Disable the backup poller when using the background poller
pull/19381/head
Guantao Liu 6 years ago committed by GitHub
commit 478160d9e2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      src/core/ext/filters/client_channel/backup_poller.cc
  2. 3
      src/core/lib/iomgr/ev_posix.cc
  3. 4
      src/core/lib/iomgr/iomgr_posix_cfstream.cc
  4. 3
      src/core/lib/iomgr/iomgr_uv.cc

@ -24,10 +24,12 @@
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include "src/core/ext/filters/client_channel/client_channel.h"
#include "src/core/lib/gpr/string.h"
#include "src/core/lib/gprpp/global_config.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/iomgr/iomgr.h"
#include "src/core/lib/iomgr/pollset.h"
#include "src/core/lib/iomgr/timer.h"
#include "src/core/lib/surface/channel.h"
@ -153,7 +155,7 @@ static void g_poller_init_locked() {
void grpc_client_channel_start_backup_polling(
grpc_pollset_set* interested_parties) {
if (g_poll_interval_ms == 0) {
if (g_poll_interval_ms == 0 || grpc_iomgr_run_in_background()) {
return;
}
gpr_mu_lock(&g_poller_mu);
@ -171,7 +173,7 @@ void grpc_client_channel_start_backup_polling(
void grpc_client_channel_stop_backup_polling(
grpc_pollset_set* interested_parties) {
if (g_poll_interval_ms == 0) {
if (g_poll_interval_ms == 0 || grpc_iomgr_run_in_background()) {
return;
}
grpc_pollset_set_del_pollset(interested_parties, g_poller->pollset);

@ -246,7 +246,8 @@ bool grpc_event_engine_can_track_errors(void) {
}
bool grpc_event_engine_run_in_background(void) {
return g_event_engine->run_in_background;
// g_event_engine is nullptr when using a custom iomgr.
return g_event_engine != nullptr && g_event_engine->run_in_background;
}
grpc_fd* grpc_fd_create(int fd, const char* name, bool track_err) {

@ -100,6 +100,8 @@ void grpc_set_default_iomgr_platform() {
grpc_set_iomgr_platform_vtable(&vtable);
}
bool grpc_iomgr_run_in_background() { return false; }
bool grpc_iomgr_run_in_background() {
return grpc_event_engine_run_in_background();
}
#endif /* GRPC_CFSTREAM_IOMGR */

@ -37,4 +37,7 @@ void grpc_set_default_iomgr_platform() {
grpc_custom_iomgr_init(&grpc_uv_socket_vtable, &uv_resolver_vtable,
&uv_timer_vtable, &uv_pollset_vtable);
}
bool grpc_iomgr_run_in_background() { return false; }
#endif

Loading…
Cancel
Save