# HG changeset patch # User Kim Alvefur # Date 1700600788 -3600 # Node ID f91761822420c7a7f6af27abb31b597041515b40 # Parent 8b3bf0d2ffd459e4271451f799a4c75046c26d7a net.server_epoll: Avoid call to update socket watch flags when nothing changed Should skip a syscall for each write when using epoll. diff -r 8b3bf0d2ffd4 -r f91761822420 net/server_epoll.lua --- a/net/server_epoll.lua Tue Nov 21 20:45:56 2023 +0100 +++ b/net/server_epoll.lua Tue Nov 21 22:06:28 2023 +0100 @@ -400,6 +400,9 @@ end if r == nil then r = self._wantread; end if w == nil then w = self._wantwrite; end + if r == self._wantread and w == self._wantwrite then + return true + end local ok, err, errno = poll:set(fd, r, w); if not ok then self:debug("Could not update poller state: %s(%d)", err, errno);