From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200]) by sourceware.org (Postfix) with ESMTPS id 19E3E385783E for ; Thu, 3 Sep 2020 21:13:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 19E3E385783E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=netbsd.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=kamil@netbsd.org Received: from [IPv6:::1] (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id F324684CDA; Thu, 3 Sep 2020 21:13:28 +0000 (UTC) To: Tom Tromey Cc: gdb-patches@sourceware.org References: <20200902175926.13182-1-n54@gmx.com> <20200902175926.13182-2-n54@gmx.com> <87sgbzq714.fsf@tromey.com> From: Kamil Rytarowski Autocrypt: addr=kamil@netbsd.org; keydata= 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 Subject: Re: [PATCH 01/10] Add handle_eintr to wrap EINTR handling in syscalls Message-ID: <4da8ea81-3d9d-35f3-0adf-81c71ad6f57a@netbsd.org> Date: Thu, 3 Sep 2020 23:10:21 +0200 User-Agent: Mozilla/5.0 (X11; NetBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <87sgbzq714.fsf@tromey.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="wmErRhTIMJn3HlOqAkFStnBmsxJ7BwLwp" X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Sep 2020 21:13:33 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --wmErRhTIMJn3HlOqAkFStnBmsxJ7BwLwp Content-Type: multipart/mixed; boundary="jSSC5rWEoT7NnzHEmSdX3uTHTaxU6czmo"; protected-headers="v1" From: Kamil Rytarowski To: Tom Tromey Cc: gdb-patches@sourceware.org Message-ID: <4da8ea81-3d9d-35f3-0adf-81c71ad6f57a@netbsd.org> Subject: Re: [PATCH 01/10] Add handle_eintr to wrap EINTR handling in syscalls References: <20200902175926.13182-1-n54@gmx.com> <20200902175926.13182-2-n54@gmx.com> <87sgbzq714.fsf@tromey.com> In-Reply-To: <87sgbzq714.fsf@tromey.com> --jSSC5rWEoT7NnzHEmSdX3uTHTaxU6czmo Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 03.09.2020 16:17, Tom Tromey wrote: >>>>>> "Kamil" =3D=3D Kamil Rytarowski writes: >=20 > Kamil> +2020-03-17 Kamil Rytarowski > Kamil> + > Kamil> + * eintr.h: Add handle_eintr. >=20 > Kamil> +template > Kamil> +inline decltype (auto) handle_eintr (const Fun &F, const Args &= =2E.. A) >=20 > I like this, but from what I read it seems that "decltype(auto)" is > C++14 -- but gdb is still C++11. >=20 OK, I have downgraded this to C++11. >=20 > Kamil> +{ > Kamil> + decltype (F (A...)) ret; > Kamil> + do > Kamil> + { > Kamil> + errno =3D 0; > Kamil> + ret =3D F (A...); > Kamil> + } > Kamil> + while (ret =3D=3D -1 && errno =3D=3D EINTR); >=20 > Also this seems to assume that "ret" is comparable to an int anyway. > So maybe just assuming int everywhere would be ok. >=20 This assumption is not always valid, e.g. read(2) returns ssize_t. I've added in the template flexibility of the returned type as it could be e.g. nullptr for fopen(3). > Tom >=20 --jSSC5rWEoT7NnzHEmSdX3uTHTaxU6czmo-- --wmErRhTIMJn3HlOqAkFStnBmsxJ7BwLwp Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEELaxVpweEzw+lMDwuS7MI6bAudmwFAl9RW9EACgkQS7MI6bAu dmzIWg/9FrlHgvpM24HAfb8NSJ0Ma04H7I6j35XOJ+N7Yqs/4iLSURnFqwBbgOyJ pCy/vnrKEB2b4nKZjY67foXZkd4ixdopD40V8Dh0KZ0e+0G54eLrGwrAVK480Zyl T/yCoHeBRXOWnQFWugdMtb1ggDMjSO2TI6RAXjZFIVGnD/NUhfXZEzUOWGEENNxE BQx9jLxhsjW3Lxdz2ZQVQ39i3ehevluJ60NhypkLMYFtCM2dVkjzr0k4GCXcJyVF kTS/+e3Acn/9Pkk5FT8Y9qSMBPmHE206ZOevD0bEhKXCKT4Djwe87zIfuqQH8W2H p6XEDVOJEu9DLaJHR/jSpzANB7f4VHy28GlXOyEKQf3POnsMT+4md/LPcG7EDLy9 Hmjf3+b6vObPBN3lGeexxmu/3CCtzjwYJhppNtaYPDbF7mGZO+GaYmwTdzO/siVX v5sKqXNu6TZzZ4fmuTQIAHIGDhkueiTyEfKflXBrYbTrz4up13KgqAIefK3w9orw CzeoQjNfeiAc+gLfGkCHX+8R0OfLPxpgKcS5K+kpAbZntbS2flU1EpsL8oGIrvQq k1KXLH1LOYZTCz2zBJzp5wjotI6+P7qvJdE9plGCO08fvywj6G42OmV7mUR4kmmE kE4UeCBECtsUlAD0jYEOKlETKSB+l8Vc4RZLu3mAW4CoWNPSxfo= =e+Ol -----END PGP SIGNATURE----- --wmErRhTIMJn3HlOqAkFStnBmsxJ7BwLwp--