From owner-freebsd-net@freebsd.org Tue Jan 17 10:06:44 2017 Return-Path: Delivered-To: freebsd-net@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2C056CB2366 for ; Tue, 17 Jan 2017 10:06:44 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B94F81BA4 for ; Tue, 17 Jan 2017 10:06:43 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id v0HA6YZZ055708 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 17 Jan 2017 12:06:34 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua v0HA6YZZ055708 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id v0HA6YYo055707; Tue, 17 Jan 2017 12:06:34 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 17 Jan 2017 12:06:34 +0200 From: Konstantin Belousov To: Colin Percival Cc: freebsd-net@freebsd.org Subject: Re: sosend returning ERESTART Message-ID: <20170117100634.GS2349@kib.kiev.ua> References: <01000159aac969e6-b2fc3913-d04e-42d4-befd-402ed0d830bf-000000@email.amazonses.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <01000159aac969e6-b2fc3913-d04e-42d4-befd-402ed0d830bf-000000@email.amazonses.com> User-Agent: Mutt/1.7.2 (2016-11-26) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Jan 2017 10:06:44 -0000 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.