X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:subject:message-id:reply-to :references:mime-version:content-type:in-reply-to; q=dns; s= default; b=jrFJYbLYpF9QstIeq0rg4l26NhpIsD1yzNb1HugTur22ZGoHBdE3K cfZVFrCQtRTzxLfDUcoccayJ4iwdvDYiJtTtrdzGywwBq/7Mn0wlA98Ve7ig89CO p4Ikz4XxHmSO8fUWjNcPKTkt35Lr6qfbqyH+QG8J64nStRGw1Qcgfs= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:subject:message-id:reply-to :references:mime-version:content-type:in-reply-to; s=default; bh=fa2Dq6yeKERcl7meEhueM/Upz8g=; b=q4iGNnlZZ2kdVkivC6Uig6AXPaBo WanMCxjBvL/0mFZ4AVTvq3Yjs1bJaY8JihCW2as0Exbx9PhmQF55VcJKhdCw2wqr j78nMixzyLKTxhHGxkGPZTkL84jZBzF1de1gzFf+66x3evqxDrfmkh5J9FRreKA2 HEOePUJFvXz1zBs= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-100.9 required=5.0 tests=BAYES_00,GOOD_FROM_CORINNA_CYGWIN,KAM_LAZY_DOMAIN_SECURITY,NORMAL_HTTP_TO_IP,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 spammy= X-HELO: mout.kundenserver.de Date: Sun, 16 Dec 2018 21:31:18 +0100 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: /dev/fd/N not synonymous with file descriptor N; it is on Linux Message-ID: <20181216203118.GL28727@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <0f030e809f063f5a5e64ff7a7a0c3227 AT xs4all DOT nl> <20181216202847 DOT GK28727 AT calimero DOT vinschen DOT de> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="fWddYNRDgTk9wQGZ" Content-Disposition: inline In-Reply-To: <20181216202847.GK28727@calimero.vinschen.de> User-Agent: Mutt/1.9.2 (2017-12-15) --fWddYNRDgTk9wQGZ Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Dec 16 21:28, Corinna Vinschen wrote: > On Dec 16 17:31, Houder wrote: > > L.S., > >=20 > > /dev/fd/N not synonymous with file descriptor N; it is on Linux >=20 > Yes, it is. Most of the time. Try this: >=20 > $ echo foo | cat /dev/fd/0 >=20 > The problem is that some of the concepts don't work as desired: >=20 > > 64-@@ cat /dev/fd/0 <<\EOF >=20 > If you observe what happens in tcsh in this situation you see that it > doesn't even execute cat as long as you didn't type EOF. What you type > is written to a tmpfile: >=20 > $ ls -l /proc/5980/fd > total 0 > lrwxrwxrwx 1 corinna vinschen 0 Dec 16 21:15 0 -> /tmp/sh.lVQq04 > lrwxrwxrwx 1 corinna vinschen 0 Dec 16 21:15 15 -> /dev/pty0 > lrwxrwxrwx 1 corinna vinschen 0 Dec 16 21:15 16 -> /dev/pty0 > lrwxrwxrwx 1 corinna vinschen 0 Dec 16 21:15 17 -> /dev/pty0 > lrwxrwxrwx 1 corinna vinschen 0 Dec 16 21:15 18 -> /dev/pty0 > lrwxrwxrwx 1 corinna vinschen 0 Dec 16 21:15 19 -> /dev/pty0 >=20 > However, this tmpfile has been unlinked already, so it has been moved to = the > recycle bin: >=20 > $ ls -l /tmp/sh.lVQq04 > ls: /tmp/sh.lVQq04: No such file or directory >=20 > So the path in the fd subdir doesn't reflect the actual file path. >=20 > But after starting cat, cat tries to open /proc/self/fd/0 which > is in fact the non-existing path /tmp/sh.lVQq04. Bad luck. >=20 > In contrast to Linux the symlinks are not just faked symlinks with the > underlying OS having direct access to the file descriptors. The way > it's implemented in Cygwin uses the actual file path resolution and then > either works or fails as above. I'm not sure how to fix that easily. > I guess the fd/0 symlink would have to show the actual file path pointing > to the recycle bin. But that's often not what you want either since it > hows a patch outside the POSIX namespace. shows a path Sorry, Corinna --=20 Corinna Vinschen Cygwin Maintainer --fWddYNRDgTk9wQGZ Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEoVYPmneWZnwT6kwF9TYGna5ET6AFAlwWthYACgkQ9TYGna5E T6AgSA/+NFE/0qR09uAbR0meIyb9ZwbPN/si5x9ui4bjMixy7QFRCbZOa9At3Kp9 wu9IdM6J2t77+28rWfC9PegoiAjhpndcTh7bSAsjV227a+U/lzi6Lk7YtUKYWY99 txNWhiP4i1EO38lA98qg8e4hbU6qlT+8U196yGIE2bFI2H1hVcVQ8cjormZXJIj2 /uens0ReXh+P7QdxZltmKvjNdWWZ8HnmchVmrqvGJuco01JPuQa6QzNn6zrv5k6I xUNmlODDaHh2z9LZPy8O5xmOninYhNLwd/gXaa/knWJbK54UN1EgHRfdAL2wLYdH W02dLFEAnWKH/KFRztphNh+rFbwqrpdw8gA9cPJbRQz/BZ/Si1s11f5mFJcY0T8v WLtJYNU4kVjsGBLhbaTBm0P4RXgwilXHjKweIxI5POiTW0E/hbjsS0MyneXyx7N1 7Q0D3PgCG91dqpSs82vww50e6ffZFYF74IeUsSSoWrikchtq9OYG3Ixt/iMHsdhX 0ov7YHsqsemDRjjdXMytKid8jWPJrU1nC3FdLIbPdcvFC05tOmWKnzguIGgaX10C zFH/k9+/oVqXgYKbbTYMvCd9AH2vr6axCLL2KjSmBgCZCwNHiQk4bsuA9VU+gyAB xNdWUSv41lTXuGKfY/NkcnFwPEKfp2gynRIeglYQ41ci39Cwq7s= =csJv -----END PGP SIGNATURE----- --fWddYNRDgTk9wQGZ--