Date: Tue, 6 May 2025 14:20:32 -0700 From: Gleb Smirnoff <glebius@freebsd.org> To: Cy Schubert <Cy.Schubert@cschubert.com> Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: d15792780760 - main - unix: new implementation of unix/stream & unix/seqpacket Message-ID: <aBp9IOOFJhjUfVcC@cell.glebi.us> In-Reply-To: <20250506172901.E5DA4305@slippy.cwsent.com> References: <202505051956.545JuOPR085707@gitrepo.freebsd.org> <20250506150654.DEAF8300@slippy.cwsent.com> <aBopyxs3FAqD6K4P@cell.glebi.us> <20250506154446.917B818D@slippy.cwsent.com> <aBpDWFEmMyP9iiUi@cell.glebi.us> <20250506172901.E5DA4305@slippy.cwsent.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--llvy8OFwqUtJAMbb Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, May 06, 2025 at 10:29:01AM -0700, Cy Schubert wrote: C> In the case of /usr/obj I did, C> C> rsync -aHv --delete --progress /usr/obj/. other_server:/usr/obj/. I think I was able to reproduce, but not sure. Can you please try the attached patch at your setup? -- Gleb Smirnoff --llvy8OFwqUtJAMbb Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename=uipc_sopoll.diff diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index 1722a43a800e..0836652b6a24 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -1681,11 +1681,12 @@ uipc_sopoll_stream_or_seqpacket(struct socket *so, int events, (POLLOUT | POLLWRNORM); if (sb->sb_state & SBS_CANTRCVMORE) revents |= POLLHUP; - if (!(revents & (POLLOUT | POLLWRNORM))) + if (!(revents & (POLLOUT | POLLWRNORM))) { so2->so_rcv.uxst_flags |= UXST_PEER_SEL; + selrecord(td, &so->so_wrsel); + } SOCK_RECVBUF_UNLOCK(so2); - } - if (!(revents & (POLLOUT | POLLWRNORM))) + } else selrecord(td, &so->so_wrsel); } } --llvy8OFwqUtJAMbb--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?aBp9IOOFJhjUfVcC>