Date: Tue, 17 Jan 2017 12:06:34 +0200 From: Konstantin Belousov <kostikbel@gmail.com> To: Colin Percival <cperciva@tarsnap.com> Cc: freebsd-net@freebsd.org Subject: Re: sosend returning ERESTART Message-ID: <20170117100634.GS2349@kib.kiev.ua> In-Reply-To: <01000159aac969e6-b2fc3913-d04e-42d4-befd-402ed0d830bf-000000@email.amazonses.com> References: <01000159aac969e6-b2fc3913-d04e-42d4-befd-402ed0d830bf-000000@email.amazonses.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jan 17, 2017 at 04:57:23AM +0000, Colin Percival wrote: > I think I've tracked an NFS problem down to sosend returning ERESTART; it > looks like it's easy to work around this, but I'm not sure *why* sosend is > returning ERESTART... or for that matter *how* since I can't find anywhere > in relevant code where that gets returned. ERESTART is most likely returned by msleep(9) or similar call down the path when unblocked signal is pending with the restart disposition. Note that any attempt to perform an interruptible sleep would return ERESTART until the signal is either blocked or a trip to userspace is performed to deliver it. > > Am I missing something obvious? In case it matters, this is NFS making use > of RPC code, sosending over a TCP connection which goes out over an ixv > interface.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20170117100634.GS2349>