Merge pull request #10859 from haorenfsa/master

fix: while using eventfd, a random fd will be closed when error occurs during creating eventfd
pull/16860/head
hcaseyal 7 years ago committed by GitHub
commit cf408bb222
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 7
      src/core/lib/iomgr/wakeup_fd_eventfd.cc

@ -32,12 +32,11 @@
#include "src/core/lib/profiling/timers.h"
static grpc_error* eventfd_create(grpc_wakeup_fd* fd_info) {
int efd = eventfd(0, EFD_NONBLOCK | EFD_CLOEXEC);
if (efd < 0) {
fd_info->read_fd = eventfd(0, EFD_NONBLOCK | EFD_CLOEXEC);
fd_info->write_fd = -1;
if (fd_info->read_fd < 0) {
return GRPC_OS_ERROR(errno, "eventfd");
}
fd_info->read_fd = efd;
fd_info->write_fd = -1;
return GRPC_ERROR_NONE;
}

Loading…
Cancel
Save