Skip site navigation (1)Skip section navigation (2)
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>