cef/patch/patches/linux_poll_2466.patch
Marshall Greenblatt 24c2f2fa38 Update to Chromium version 86.0.4240.0 (#800218)
- CefURLRequest::Create is no longer supported in the renderer process
  (see https://crbug.com/891872). Use CefFrame::CreateURLRequest instead.
- Mac platform definitions have been changed from `MACOSX` to `MAC`
  (see https://crbug.com/1105907) and related CMake macro names have
  been updated. The old `OS_MACOSX` define is still set in code and CMake
  for backwards compatibility.
- Linux ARM build is currently broken (see https://crbug.com/1123214).
2020-09-03 17:44:25 -04:00

48 lines
1.4 KiB
Diff

diff --git base/files/file_path_watcher_linux.cc base/files/file_path_watcher_linux.cc
index 4e231b615e8f..a5100c0bf1c8 100644
--- base/files/file_path_watcher_linux.cc
+++ base/files/file_path_watcher_linux.cc
@@ -5,6 +5,7 @@
#include "base/files/file_path_watcher.h"
#include <errno.h>
+#include <poll.h>
#include <stddef.h>
#include <string.h>
#include <sys/inotify.h>
@@ -13,6 +14,7 @@
#include <unistd.h>
#include <algorithm>
+#include <array>
#include <fstream>
#include <map>
#include <memory>
@@ -263,8 +265,10 @@ void InotifyReaderThreadDelegate::ThreadMain() {
PlatformThread::SetName("inotify_reader");
// Make sure the file descriptors are good for use with select().
- CHECK_LE(0, inotify_fd_);
- CHECK_GT(FD_SETSIZE, inotify_fd_);
+ std::array<pollfd, 1> fdarray
+ { {
+ { inotify_fd_, POLLIN, 0 }
+ } };
while (true) {
fd_set rfds;
@@ -272,10 +276,9 @@ void InotifyReaderThreadDelegate::ThreadMain() {
FD_SET(inotify_fd_, &rfds);
// Wait until some inotify events are available.
- int select_result =
- HANDLE_EINTR(select(inotify_fd_ + 1, &rfds, nullptr, nullptr, nullptr));
- if (select_result < 0) {
- DPLOG(WARNING) << "select failed";
+ int poll_result = HANDLE_EINTR(poll(fdarray.data(), fdarray.size(), -1));
+ if (poll_result < 0) {
+ DPLOG(WARNING) << "poll failed";
return;
}