refactor select code + add protection against large fds (cf Android 9)

This commit is contained in:
Benjamin Sergeant
2019-06-25 15:41:39 -07:00
parent 0423ed01a6
commit e8a20c7e8a
8 changed files with 76 additions and 59 deletions

View File

@ -88,6 +88,12 @@ namespace ix
static bool isWaitNeeded();
static void closeSocket(int fd);
static PollResultType poll(bool readyToRead,
int timeoutMs,
int sockfd,
std::shared_ptr<SelectInterrupt> selectInterrupt = nullptr);
// Used as special codes for pipe communication
static const uint64_t kSendRequest;
static const uint64_t kCloseRequest;
@ -97,11 +103,6 @@ namespace ix
std::mutex _socketMutex;
private:
PollResultType poll(bool readyToRead,
int timeoutMs,
int sockfd,
int interruptFd);
static const int kDefaultPollTimeout;
static const int kDefaultPollNoTimeout;