From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS22989 209.51.188.0/24 X-Spam-Status: No, score=-3.2 required=3.0 tests=AWL,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 203371F453 for ; Mon, 29 Apr 2019 19:49:48 +0000 (UTC) Received: from localhost ([127.0.0.1]:34422 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hLCHb-0000L3-FM for normalperson@yhbt.net; Mon, 29 Apr 2019 15:49:47 -0400 Received: from eggs.gnu.org ([209.51.188.92]:40654) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hLCHW-0000Kj-Lz for bug-gnulib@gnu.org; Mon, 29 Apr 2019 15:49:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hLCHV-0002EW-Mo for bug-gnulib@gnu.org; Mon, 29 Apr 2019 15:49:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49646) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hLCHV-0002E9-Di for bug-gnulib@gnu.org; Mon, 29 Apr 2019 15:49:41 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7E2AE30833BE for ; Mon, 29 Apr 2019 19:49:40 +0000 (UTC) Received: from [10.3.116.15] (ovpn-116-15.phx2.redhat.com [10.3.116.15]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 287D95D785; Mon, 29 Apr 2019 19:49:40 +0000 (UTC) Subject: Re: Why does close_stdout close stdout and stderr? To: Florian Weimer , bug-gnulib@gnu.org References: <87muk8d295.fsf@oldenburg2.str.redhat.com> From: Eric Blake Openpgp: preference=signencrypt Autocrypt: addr=eblake@redhat.com; keydata= xsBNBEvHyWwBCACw7DwsQIh0kAbUXyqhfiKAKOTVu6OiMGffw2w90Ggrp4bdVKmCaEXlrVLU xphBM8mb+wsFkU+pq9YR621WXo9REYVIl0FxKeQo9dyQBZ/XvmUMka4NOmHtFg74nvkpJFCD TUNzmqfcjdKhfFV0d7P/ixKQeZr2WP1xMcjmAQY5YvQ2lUoHP43m8TtpB1LkjyYBCodd+LkV GmCx2Bop1LSblbvbrOm2bKpZdBPjncRNob73eTpIXEutvEaHH72LzpzksfcKM+M18cyRH+nP sAd98xIbVjm3Jm4k4d5oQyE2HwOur+trk2EcxTgdp17QapuWPwMfhaNq3runaX7x34zhABEB AAHNHkVyaWMgQmxha2UgPGVibGFrZUByZWRoYXQuY29tPsLAegQTAQgAJAIbAwULCQgHAwUV CgkICwUWAgMBAAIeAQIXgAUCS8fL9QIZAQAKCRCnoWtKJSdDahBHCACbl/5FGkUqJ89GAjeX RjpAeJtdKhujir0iS4CMSIng7fCiGZ0fNJCpL5RpViSo03Q7l37ss+No+dJI8KtAp6ID+PMz wTJe5Egtv/KGUKSDvOLYJ9WIIbftEObekP+GBpWP2+KbpADsc7EsNd70sYxExD3liwVJYqLc Rw7so1PEIFp+Ni9A1DrBR5NaJBnno2PHzHPTS9nmZVYm/4I32qkLXOcdX0XElO8VPDoVobG6 gELf4v/vIImdmxLh/w5WctUpBhWWIfQDvSOW2VZDOihm7pzhQodr3QP/GDLfpK6wI7exeu3P pfPtqwa06s1pae3ad13mZGzkBdNKs1HEm8x6zsBNBEvHyWwBCADGkMFzFjmmyqAEn5D+Mt4P zPdO8NatsDw8Qit3Rmzu+kUygxyYbz52ZO40WUu7EgQ5kDTOeRPnTOd7awWDQcl1gGBXgrkR pAlQ0l0ReO57Q0eglFydLMi5bkwYhfY+TwDPMh3aOP5qBXkm4qIYSsxb8A+i00P72AqFb9Q7 3weG/flxSPApLYQE5qWGSXjOkXJv42NGS6o6gd4RmD6Ap5e8ACo1lSMPfTpGzXlt4aRkBfvb NCfNsQikLZzFYDLbQgKBA33BDeV6vNJ9Cj0SgEGOkYyed4I6AbU0kIy1hHAm1r6+sAnEdIKj cHi3xWH/UPrZW5flM8Kqo14OTDkI9EtlABEBAAHCwF8EGAEIAAkFAkvHyWwCGwwACgkQp6Fr SiUnQ2q03wgAmRFGDeXzc58NX0NrDijUu0zx3Lns/qZ9VrkSWbNZBFjpWKaeL1fdVeE4TDGm I5mRRIsStjQzc2R9b+2VBUhlAqY1nAiBDv0Qnt+9cLiuEICeUwlyl42YdwpmY0ELcy5+u6wz mK/jxrYOpzXKDwLq5k4X+hmGuSNWWAN3gHiJqmJZPkhFPUIozZUCeEc76pS/IUN72NfprZmF Dp6/QDjDFtfS39bHSWXKVZUbqaMPqlj/z6Ugk027/3GUjHHr8WkeL1ezWepYDY7WSoXwfoAL 2UXYsMAr/uUncSKlfjvArhsej0S4zbqim2ZY6S8aRWw94J3bSvJR+Nwbs34GPTD4Pg== Organization: Red Hat, Inc. Message-ID: Date: Mon, 29 Apr 2019 14:49:39 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: <87muk8d295.fsf@oldenburg2.str.redhat.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="2W8Wh8dwbjGf8K2Edi7j3Nhid76SRCJ5Z" X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Mon, 29 Apr 2019 19:49:40 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 X-BeenThere: bug-gnulib@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Gnulib discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnulib-bounces+normalperson=yhbt.net@gnu.org Sender: "bug-gnulib" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --2W8Wh8dwbjGf8K2Edi7j3Nhid76SRCJ5Z Content-Type: multipart/mixed; boundary="8Xseuv7LarxO2MmoNAXmqOxjMEh30N5Cm"; protected-headers="v1" From: Eric Blake To: Florian Weimer , bug-gnulib@gnu.org Message-ID: Subject: Re: Why does close_stdout close stdout and stderr? References: <87muk8d295.fsf@oldenburg2.str.redhat.com> In-Reply-To: <87muk8d295.fsf@oldenburg2.str.redhat.com> --8Xseuv7LarxO2MmoNAXmqOxjMEh30N5Cm Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 4/29/19 2:45 PM, Florian Weimer wrote: > I get that error checking is important. But why not just use ferror an= d > fflush? Closing the streams is excessive and tends to introduce > use-after-free issues, as evidenced by the sanitizer workarounds. If I recall the explanation, at least some versions of NFS do not actually flush on fflush(), but wait until close(). If you want to avoid data loss and ensure that things written made it to the remote storage while detecting every possible indication when an error may have prevented that from working, then you have to go all the way through close(). --=20 Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org --8Xseuv7LarxO2MmoNAXmqOxjMEh30N5Cm-- --2W8Wh8dwbjGf8K2Edi7j3Nhid76SRCJ5Z Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEccLMIrHEYCkn0vOqp6FrSiUnQ2oFAlzHVVMACgkQp6FrSiUn Q2pKZwf/SXYOFMd+wdejkd3m4Bzc/a6E8m1y/bJuDrlOCSShGqSXdWFlAs2wgVM4 D52XM+r5UISBEtoUIsnfOS9YrzdOvuWJrVkIjmUHoWdvzL+nfYXRNWFbIXgqHs5F lvHru1yWcLPQ2fHNVBRIFGlr+SEYSB+iRM8VETAT6sSRlQ/DLTi2wnXBHoQTZD/6 G6bBh/L7T0drtCcF5bG5SqtU39LavmcaKJH8M29/IlLsP457r1e0N3EDgihDKItH LMuGSYTxtlnbrZ2BCWyiGOunQUt4T4+Evod8wSpYQxtZUvKCePeZ9x3atxzmLFwe yyYzpYFlqVA/eV9CQrsQO5UVJYLEXA== =dq2d -----END PGP SIGNATURE----- --2W8Wh8dwbjGf8K2Edi7j3Nhid76SRCJ5Z--