From owner-svn-src-head@FreeBSD.ORG Sat Oct 1 10:23:01 2011 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C00CB106564A; Sat, 1 Oct 2011 10:23:01 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.zoral.com.ua (mx0.zoral.com.ua [91.193.166.200]) by mx1.freebsd.org (Postfix) with ESMTP id 1F80A8FC08; Sat, 1 Oct 2011 10:23:00 +0000 (UTC) Received: from alf.home (alf.kiev.zoral.com.ua [10.1.1.177]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id p91AMtjh050054 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 1 Oct 2011 13:22:55 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: from alf.home (kostik@localhost [127.0.0.1]) by alf.home (8.14.5/8.14.5) with ESMTP id p91AMttS064248; Sat, 1 Oct 2011 13:22:55 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by alf.home (8.14.5/8.14.5/Submit) id p91AMtmU064247; Sat, 1 Oct 2011 13:22:55 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: alf.home: kostik set sender to kostikbel@gmail.com using -f Date: Sat, 1 Oct 2011 13:22:55 +0300 From: Kostik Belousov To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <20111001102255.GC1511@deviant.kiev.zoral.com.ua> References: <201110011018.p91AItDp010921@svn.freebsd.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="CYvw4a70jcGnzNfi" Content-Disposition: inline In-Reply-To: <201110011018.p91AItDp010921@svn.freebsd.org> User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: clamav-milter 0.95.2 at skuns.kiev.zoral.com.ua X-Virus-Status: Clean X-Spam-Status: No, score=-3.3 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00, DNS_FROM_OPENWHOIS autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on skuns.kiev.zoral.com.ua Cc: Subject: Re: svn commit: r225894 - in head/sys: kern sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Oct 2011 10:23:01 -0000 --CYvw4a70jcGnzNfi Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Oct 01, 2011 at 10:18:55AM +0000, Konstantin Belousov wrote: > Author: kib > Date: Sat Oct 1 10:18:55 2011 > New Revision: 225894 > URL: http://svn.freebsd.org/changeset/base/225894 >=20 > Log: > The sigwait(3) function shall not return EINTR, according to the > POSIX/SUSvN. The sigwait(2) syscall does return EINTR, and libc.so.7 > contains the wrapper sigwait(3) which hides EINTR from callers. The r212405 will be merged to stable/8 shortly. > EINTR return is used by libthr to handle required cancellation point > in the sigwait(3). > =20 > To help the binaries linked against pre-libc.so.7, i.e. RELENG_6 and > earlier, to have right ABI for sigwait(3), transform EINTR return from > sigwait(2) into ERESTART. This leaves the static binaries linked against libc.a from a system with libc.so.N, where N < 7 or N =3D=3D 7 and does not contain r212405, with the broken sigwait(). More intrusive change is to allocate new syscall number for sigwait(2), and change old sigwait(2) to never return EINTR. Then, the static binaries linked on HEAD and stable/9 prior to introduction of the new sigwait syscall numbers will have broken cancellation at sigwait. I had this done, but sort of agreement we reached is to go with less intrusive commit you see. And before you ask, the story started from the real user report of a broken binary-only program that is not prepared to handle EINTR there. --CYvw4a70jcGnzNfi Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (FreeBSD) iEYEARECAAYFAk6G6f8ACgkQC3+MBN1Mb4iJ5wCcD2XQJUtLmnDu00Su3uP1Hpud NyoAn3qAcKbac+hPO70tgtGoKBQhwCI3 =N9TP -----END PGP SIGNATURE----- --CYvw4a70jcGnzNfi--