Path: csiph.com!goblin2!goblin1!goblin.stu.neva.ru!usenet.stanford.edu!not-for-mail From: Eli Schwartz Newsgroups: gnu.bash.bug Subject: Re: process substitution error handling Date: Thu, 6 Aug 2020 13:09:23 -0400 Lines: 73 Approved: bug-bash@gnu.org Message-ID: References: <20200420051508.GA2359844@zx2c4.com> <7496b183-2db3-6c03-6074-928adcd08f45@case.edu> <9b358a76-4867-41b9-5a3a-c1892c76b8ee@case.edu> <917bf529-d3cb-6783-326b-c7baa7ca9a2e@archlinux.org> <3eb8128c-6f15-473e-447a-5058aef52b9b@archlinux.org> NNTP-Posting-Host: lists.gnu.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="Cz7BmQMTvOqKvJpPscIdDY5hfXTgPXXT1" X-Trace: usenet.stanford.edu 1596733788 8654 209.51.188.17 (6 Aug 2020 17:09:48 GMT) X-Complaints-To: action@cs.stanford.edu To: bug-bash@gnu.org Envelope-to: bug-bash@gnu.org X-Spam-BL-Results: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=archlinux.org; s=orion; t=1596733775; bh=FsB6N9+hq5Y+nEFssX4LkEeIFxX6QJI4HJ3ISBJzCHQ=; h=Subject:To:References:From:Date:In-Reply-To; b=mOt5KDgBUFO+VE5pSQgVb1FDSHjDuZiSNVpqWFBNKQbL3SIVt/TlOeC8cLPxlIXgr k69Y2Olv84CjueQT2KWDXkP/zwK2GhLZSIUiI7X3RkPghDKr7WezZkLvCTZZR7Rmbo /aTX8rYgduBfAB6MDxgMtTWYtjqWZTp7/LERj0UaQSlszeBQX/+uRvw5/HkzxWGs/7 1xsL02oUMDDfRtaPQ3H1i74Nwe/bWEuzpdZF4jSAVzKIVi9pEGIqA+HET8LGK6h9++ x0FHAZ7qvoz5/snYQd+dgKXkVgb0glJiypb694XxtdzcsBTWFphoNJw4GCH6O9U7TN HoIvg5RrMf5TFCCf3jB3MAdr/3NefmWVHqNGvEKP5Cl7YprRqrGPo97XbtuETKX0Fn 4oCr9RBnnSLGewqaUsi8sTiIT0Uu2xwDIAgHc2TxGwJ5NEhPUP+ozJcxuz5KyaTe+C EmOZiUEiZmLRh3GEQhk/NABuXVdSOwd7KFZRB4WQ8sH+uZM9aRg/0rVDk2iP7r5MiB SLUqCPub6yp4s1JC/A4VdQQhZvDvp52TjgIs/RHmqIfQ1Pp3kAsQPg0voD9EGhptRu IBdk1Xi0WNNP94fqxmjFSdd4gXRpfX8B+UP2NpC2rnkZi7L3xp7hxYniZI0+/foUfM qz9yj4U99dniPKHI/l3K8MnI= X-Clacks-Overhead: GNU Terry Pratchett In-Reply-To: Received-SPF: pass client-ip=2a01:4f8:160:6087::1; envelope-from=eschwartz@archlinux.org; helo=orion.archlinux.org X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -53 X-Spam_score: -5.4 X-Spam_bar: ----- X-Spam_report: (-5.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: bug-bash@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Bug reports for the GNU Bourne Again SHell List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: <3eb8128c-6f15-473e-447a-5058aef52b9b@archlinux.org> X-Mailman-Original-References: <20200420051508.GA2359844@zx2c4.com> <7496b183-2db3-6c03-6074-928adcd08f45@case.edu> <9b358a76-4867-41b9-5a3a-c1892c76b8ee@case.edu> <917bf529-d3cb-6783-326b-c7baa7ca9a2e@archlinux.org> Xref: csiph.com gnu.bash.bug:16723 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --Cz7BmQMTvOqKvJpPscIdDY5hfXTgPXXT1 Content-Type: multipart/mixed; boundary="IOVAVaD5iwvmRm6xGNNTK2DJMvV7WVMFR" --IOVAVaD5iwvmRm6xGNNTK2DJMvV7WVMFR Content-Type: text/plain; charset=utf-8 Content-Language: en-US-large Content-Transfer-Encoding: quoted-printable On 8/6/20 12:36 PM, kfm@plushkava.net wrote: > On 06/08/2020 17:21, Eli Schwartz wrote: >> On 8/6/20 11:31 AM, Jason A. Donenfeld wrote: >>> That doesn't always work: >>> >>> set -e >>> while read -r line; do >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 echo "$line" & >>> done < <(echo 1; sleep 1; echo 2; sleep 1; exit 77) >>> sleep 1 >>> wait $! >>> echo done >=20 > I wonder why wait $! doesn't do the job here. Because `echo "$line" &` sets a new value for $! after the <() did. More to the point, you want to wait $! *before* running any commands in the while loop, because if the <() failed, it might not be a good idea to run those commands. --=20 Eli Schwartz Arch Linux Bug Wrangler and Trusted User --IOVAVaD5iwvmRm6xGNNTK2DJMvV7WVMFR-- --Cz7BmQMTvOqKvJpPscIdDY5hfXTgPXXT1 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEvSewel70XCra9w4EhIGKaBmvSpsFAl8sOUMACgkQhIGKaBmv SpvBSRAAnRd2wO06lNuiWDjXWIWcUM9LVfkwQ0Bl813VsgwHskRUvlVDc+Q2CiUs dZJ7tjUagDs1BUh2flMaouzR+i3Zg83kIAfg1KO/qaDCMJkNwMF+fHfs95Mf1vwq Z0AmdfSAf8+7qHsK7D59FNIdp7+l2Ewj/nKUyW+tU0Cho2eoasksnR6XvbdB9iO1 51DlgiSsjtvKRphATx6jmZeRocfHegiOTWEYL/mf+FMZjGGrudyFkX7abuER2DXt PQjiWIm1TXeXBc6oSuD05Ji6/eJ3pZwg/I6OwIUeVcfLo/xFeZ+T9NlaZUIjQ8Wd 4Qy4Wzzthwz2Qxq++jaBJjwOsS0yXmmLMkRSEZ++62Gm/j50Spy18XAGIBROx+sN hPoM9LBD3FnsRvyelzbTC69JqbflBY0M1vD9u/aHhOUOEzFnqjDu5+o0K1t9IyI2 9dzuPSRohyydNbp3mIimMdoVmzCPrcW9TJ4iFsbO1Z3ATgyHXwwvpF9QZcwQR1lr OXoKUzpBY7ZrTsBlrlkxRQw6Dy5caTTu2cTbfE0nrFY5WKaeYUXTSjBdTRuJSV+8 hF0o4du9GuwNlQWEufT8aBDQ94VISPCSmcfjZg6ciMiMzubBNeWrtqq0UbI6nrPj ezHMWYPS2H2EPFop6wWtaM3J0cOnVO1qUUjdlzOo6xaodx5B60+JAjMEAQEKAB0W IQRgQRMEwJ02YoNA7v/OsWfvtXIr1gUCXyw5QwAKCRDOsWfvtXIr1sByEACiHc45 l6fDWbaSDkN3EMCPe7Sn53qIwIsOayZ9qp58E2uxacCrJOy+2nspoYaRIIp6Usmb DzzXhu8tE+L+fms8rhBSNqA/Pp5ii6I9OnATTGF0DShzPahiIbxFIaP4Lpme9DxJ 1+7Da+bckyI9FGtySmwUXDedsL90i1Fb0ei9o8+DP/5drK6JmEQHqqhVHyqNCQ2H v00xm0j3N28wLSn083t3ofcaHjnDtbzlQ64EqQsIRbnF3vLXxSMmIAXsPz0aNHSO UQO1fD0c5m1O7Lh+3kzTYF69/tXfK+DGSGkocmdmMaZUH+uGNEdGYEz36aTxnCES KBI1kz9suAhmjzBuE/LaODzhGNMlBnnSdccWahKI0E/gRRH+39YuMbt5BMFz+R33 ynNPx3ZeGqpxXC5Xl214ix+esP5+QW/KmrK6daTNqX3F/bAeRtsLJFRO2eUhzSrW fxhwtOzOmmm95+YDeMp/9TVNE6W59CWPolyMFfxClP9lsffdaYUVpiWW4TNlpZCY H5ZCvRRj7Cp8V6wsmAAdjQdr+UV+afBeabhTQ20NSsoONiAjWuRVEddmG40NVEJp tBfVe1HyTCH8CmpXCwdaboO9Dz1KmGQQe7wMSmQDhUL0mQYFczq790S8NOIax/yj AcSJj4ztFOMTTupqVK3mNSOsYiOXh9GvdzWSEQ== =+WXK -----END PGP SIGNATURE----- --Cz7BmQMTvOqKvJpPscIdDY5hfXTgPXXT1--