delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2019/01/22/03:57:36

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:mime-version:content-type:date:from:to:subject
:in-reply-to:references:message-id; q=dns; s=default; b=hBUxFBVX
20DMGjQUzHM0fBeh6qvMnxtEhaEj3JUVqH5ni6q+1RCLM/teu0AtIB/LjdM9NnO1
pgspBcUQFRziifIGMuWzyow+t5iT2Qxkro9ISpbHkyg6eMOTKXvPW7wTNuLSpcNa
y4TNv0QoUNi5B4P/hFgJh51IRD4uC8ursgk=
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:mime-version:content-type:date:from:to:subject
:in-reply-to:references:message-id; s=default; bh=S4atTjJUH1dsTW
ylx0ufLG2BRWc=; b=FA1FSlu2HP7xFp8zDuU2HpFOhL+o2jS+Fs+5YgeogwWJlG
32GHQa+4kPtIT6KT8lZRm7/krAXibPjeoNwock90FrCeBGo/HhtQK2cxpaFyokJg
eb40V1S6tXciPS6A35iwwJYiexUxYNZgEIVA4FzoONfx8DnHrxHD4XsKfRUZ4=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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=-2.6 required=5.0 tests=BAYES_00,NORMAL_HTTP_TO_IP,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=pipe, socket, emulate, c.s
X-HELO: lb3-smtp-cloud7.xs4all.net
MIME-Version: 1.0
Date: Tue, 22 Jan 2019 09:57:20 +0100
From: Houder <houder AT xs4all DOT nl>
To: cygwin AT cygwin DOT com
Subject: Re: /dev/fd/N not synonymous with file descriptor N; it is on Linux
In-Reply-To: <d6431739e2801a80d73e7cb68b4fcc19@smtp-cloud8.xs4all.net>
References: <0f030e809f063f5a5e64ff7a7a0c3227 AT xs4all DOT nl> <20190106201950 DOT GC4430 AT calimero DOT vinschen DOT de> <d6431739e2801a80d73e7cb68b4fcc19 AT smtp-cloud8 DOT xs4all DOT net>
Message-ID: <1c60402837d6510667357257b5e96e88@xs4all.nl>
X-Sender: houder AT xs4all DOT nl
User-Agent: XS4ALL Webmail
X-IsSubscribed: yes

--=_e8233a59e192b3622c9d8208f8731238
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=US-ASCII;
 format=flowed

On 2019-01-22 09:50, Houder wrote:
> On Sun, 6 Jan 2019 21:19:50, Corinna Vinschen  wrote:
>> 
>> On Dec 16 17:31, Houder wrote:
>> > L.S.,
>> >
>> > /dev/fd/N not synonymous with file descriptor N; it is on Linux
>> >
>> > 64-@@ cat /dev/fd/0 <<\EOF
>> > > Hi
>> > > EOF
>> > cat: /dev/fd/0: No such file or directory
>> >
>> > fails on Cygwin; not on Linux.
>> >
>> > Also see:
>> >
>> >     https://cygwin.com/ml/cygwin/2018-12/msg00028.html
>> >     ( Bash heredoc on FD 3 )
>> >
>> > Based on the output of strace on Linux, I composed an STC, that duplicates
>> > the steps taken by bash (and cat).
>> 
>> This should work in the latest developer snapshot uploaded to
>> https://cygwin.com/snapshots/  Please give it a try.
>> 
>> Thanks,
>> Corinna
> 
> Nice!
> 
> This solves: <program> -i /dev/fd/N N<<EOF (i.e. Steven Penny's 
> problem)
> 
> Howver ...
> (and I sure that I am not telling you anything new)
> 
> it still not the same as Linux ...
> 
> So, for the record only:

and as another example, this STC succeeds on Linux ..., but fails on 
Cygwin.

64-@@ ./stca /dev/fd/0 <<EOF
> bla
> EOF
fd1 = 0
argv[1] = /dev/fd/0
fd2 = 3
id = writefd2, errno = 13, errstr = Permission denied
64-@@

=====


--=_e8233a59e192b3622c9d8208f8731238
Content-Transfer-Encoding: base64
Content-Type: text/x-c;
 name=stca.c
Content-Disposition: attachment;
 filename=stca.c;
 size=6104

Ly8gZ2NjIC1XYWxsIC1vIHN0Y2Egc3RjYS5jCgojaW5jbHVkZSA8c3RkaW8u
aD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8dW5pc3RkLmg+CiNp
bmNsdWRlIDxzdHJpbmcuaD4gLy8gc3RyZXJyb3IoKQojaW5jbHVkZSA8ZXJy
bm8uaD4KI2luY2x1ZGUgPGZjbnRsLmg+CiNpbmNsdWRlIDxzeXMvc3RhdC5o
PiAvLyBsc3RhdCgpCiNpbmNsdWRlIDx0aW1lLmg+CgovKgogQSBmaWxlIHRo
YXQgaGFzIGJlZW4gZGVsZXRlZCwgYnV0IGlzIHN0aWxsICJoZWxkIG9wZW4i
IGJ5IGFuIGVudHJ5IGluIHRoZSBvcGVuIGZpbGUgdGFibGUKIChpLmUuIHRo
ZSBmaWxlIGlzIHJlZmVycmVkIGJ5IGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9y
KSwgY2FuIGJlIG9wZW5lZCBhZ2FpbiByZWFkLXdyaXRlIGluCiBMaW51eCwg
YnV0IG5vdCBpbiBDeWd3aW4gLi4uCiAqLwoKLy8gTk9URTogbXkgdGV4dCB1
c2VzICJmZCAyIiBmb3IgYSBmaWxlIGRlc2NyaXB0b3IgdGhhdCBlcXVhbHMg
MjsgYW5kIGZkMiBmb3IgdmFyaWFibGUgZmQyCgpzdGF0aWMgaW50CmVyckV4
aXQoY29uc3QgY2hhciAqc3RyKQp7CiAgICBwcmludGYoImlkID0gJXMsIGVy
cm5vID0gJWQsIGVycnN0ciA9ICVzXG4iLCBzdHIsIGVycm5vLCBzdHJlcnJv
cihlcnJubykpOwogICAgZmZsdXNoKHN0ZG91dCk7CiAgICBleGl0KEVYSVRf
RkFJTFVSRSk7Cn0KCnN0YXRpYyB2b2lkClVzYWdlKGNvbnN0IGNoYXIgKmNv
bnN0IGFyZykKewogICAgZnByaW50ZihzdGRlcnIsICJVc2FnZTogJXMgL2Rl
di9mZC9OXG4iLCBhcmcpOwogICAgZXhpdChFWElUX0ZBSUxVUkUpOwp9Cgoj
aWYgMAojZGVmaW5lIERJU1BMQVlTVEFUSU5GTwpzdGF0aWMgdm9pZCBkaXNw
bGF5U3RhdEluZm8oY29uc3Qgc3RydWN0IHN0YXQgKnNiKTsKI2VuZGlmCgov
LyBpbnZva2UgYXMgZm9sbG93czogLi9zdGNhIC9kZXYvZmQvMCA8PEVPRgoK
aW50Cm1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKewogICAgaWYgKGFy
Z2MgPCAyKSB7CiAgICAgICAgVXNhZ2UoYXJndlswXSk7CiAgICAgICAgZXhp
dChFWElUX1NVQ0NFU1MpOwogICAgfQoKICAgIC8vIEBAIC4vc3RjYSAvZGV2
L2ZkLzggODw8RU9GIDA8Ji0gIyBmZCA4IGlzIGNvbm5lY3RlZCB0byB0bXBm
aWxlIChiYXNoISkKICAgIC8vIHVzaW5nIGFuIGFyZ3VtZW50LCB0aGUgc3Rj
IGNhbiBiZSB0b2xkIHRvIHJlYWQgZnJvbSBmZCA4IChmZCAwIGNhbiBiZSBj
bG9zZWQpCiAgICAvLyBAQCAuL3N0Y2EgL2Rldi9mZC81IDg8PEVPRiA1PCY4
LSAwPCYtICMgLi4uIGhlcmUgZmQgMCBhbmQgZmQgOCBhcmUgY2xvc2VkCgog
ICAgLy8ga2x1ZGdlCiAgICBpZiAoc3RybGVuKGFyZ3ZbMV0pIDwgOSkgVXNh
Z2UoYXJndlswXSk7CiAgICBpZiAoc3RybmNtcChhcmd2WzFdLCAiL2Rldi9m
ZC8iLCA4KSAhPSAwKSBVc2FnZShhcmd2WzBdKTsKICAgIGlmICggKHN0cmxl
bihhcmd2WzFdKSA+IDkpIHx8CiAgICAgICAgICggKGFyZ3ZbMV1bOF0gLSAw
eDMwIDwgMCkgfHwgKGFyZ3ZbMV1bOF0gLSAweDMwID4gOSkgKSApIHsKICAg
ICAgICBmcHJpbnRmKHN0ZGVyciwgIk4gbXVzdCBiZSBhIHNpbmdsZSBkaWdp
dCwgcGxlYXNlIVxuIik7CiAgICAgICAgVXNhZ2UoYXJndlswXSk7CiAgICB9
CiAgICAvLyBlbmQga2x1ZGdlCgogICAgaW50IGZkMTsKICAgIGZkMSA9IGFy
Z3ZbMV1bOF0gLSAweDMwOwogICAgcHJpbnRmKCJmZDEgPSAlZFxuIiwgZmQx
KTsKCiAgICAvLyB1c2luZyBiYXNoLCAvZGV2L2ZkL04gcmVmZXJzIHRvIGEg
ZmlsZSB3aGljaCBiZWVuIHVubGluaydlZAogICAgcHJpbnRmKCJhcmd2WzFd
ID0gJXNcbiIsIGFyZ3ZbMV0pOwoKICAgIGVycm5vID0gMDsKCiAgICBpbnQg
ZmQyOwojaWYgMAogICAgaWYgKCAoZmQyID0gb3Blbihhcmd2WzFdLCBPX1JE
T05MWSkpID09IC0xKSBlcnJFeGl0KCJvcGVuZmQyIik7IC8vIHdoYXQgJ2Nh
dCcgZG9lcwojZWxzZQojZGVmaW5lIFdSSVRFCiAgICBpZiAoIChmZDIgPSBv
cGVuKGFyZ3ZbMV0sIE9fUkRXUikpID09IC0xKSBlcnJFeGl0KCJvcGVuZmQy
Iik7CiAgICAvL2lmICggKGZkMiA9IG9wZW4oYXJndlsxXSwgT19SRFdSIHwg
T19BUFBFTkQpKSA9PSAtMSkgZXJyRXhpdCgib3BlbmZkMiIpOwojZW5kaWYK
ICAgIHByaW50ZigiZmQyID0gJWRcbiIsIGZkMik7CgojaWYgZGVmaW5lZChE
SVNQTEFZU1RBVElORk8pCiAgICBzdHJ1Y3Qgc3RhdCBzYjsKICAgIGlmIChm
c3RhdChmZDIsICZzYikgPT0gLTEpIGVyckV4aXQoImZzdGF0ZmQyIik7CiAg
ICBkaXNwbGF5U3RhdEluZm8oJnNiKTsKI2VuZGlmCgogICAgLyogaWYgZmls
ZSBoYXMgYmVlbiBvcGVuZWQgcmVhZC13cml0ZSwgd3JpdGUoKSB3aWxsIHN1
Y2NlZWQgaW4gTGludXgsCiAgICAgICBidXQgZmFpbCBpbiBDeWd3aW4KICAg
ICAqLwoKI2lmIGRlZmluZWQoV1JJVEUpCiAgICBpZiAod3JpdGUoZmQyLCAi
SGVsbG8sIHdvcmxkIVxuIiwgMTQpID09IC0xKSBlcnJFeGl0KCJ3cml0ZWZk
MiIpOwojZW5kaWYKCiAgICAvLyBob3cgYWJvdXQgYW4gbHNlZWsoKSBmaXJz
dD8gKHdyaXRlKCkgbW9kaWZpZXMgdGhlIGZpbGUgb2Zmc2V0KQogICAgaWYg
KGxzZWVrKGZkMiwgMCwgU0VFS19TRVQpID09IC0xKSBlcnJFeGl0KCJsc2Vl
a2ZkMiIpOwoKICAgIGNoYXIgYnVmWzgwXSA9IHsgMCB9OyAvLyBhbm90aGVy
IGtsdWRnZQogICAgaWYgKHJlYWQoZmQyLCBidWYsIHNpemVvZihidWYpICkg
PT0gLTEpIGVyckV4aXQoInJlYWRmZDIiKTsKICAgIHByaW50ZigiYnVmID0g
XFxcbiVzIiwgYnVmKTsKCiAgICBpZiAoY2xvc2UoZmQyKSA9PSAtMSkgcHJp
bnRmKCJjbG9zZWZkMiBmYWlsZWRcbiIpOwp9CgojaWYgZGVmaW5lZChESVNQ
TEFZU1RBVElORk8pCiAgI2lmIDEKc3RhdGljIHZvaWQKZGlzcGxheVN0YXRJ
bmZvKGNvbnN0IHN0cnVjdCBzdGF0ICpzYikKewogICBwcmludGYoIkxpbmsg
Y291bnQ6ICVsZFxuIiwgKGxvbmcpc2ItPnN0X25saW5rKTsKfQoKICAjZWxz
ZQpzdGF0aWMgY2hhciAqZmlsZVBlcm1TdHIobW9kZV90IHBlcm0sIGludCBm
bGFncyk7CgpzdGF0aWMgdm9pZApkaXNwbGF5U3RhdEluZm8oY29uc3Qgc3Ry
dWN0IHN0YXQgKnNiKQp7CiAgIHByaW50ZigiRmlsZSB0eXBlOiAgICAgICAg
ICAgICAgICAiKTsKCiAgIC8vIGRlcHJlY2F0ZWQgYnkgU19JU1JFRyhtKSBh
bmQgYy5zLiAuLi4/IC91c3IvaW5jbHVkZS9saW51eC9zdGF0LmgKICAgc3dp
dGNoIChzYi0+c3RfbW9kZSAmIFNfSUZNVCkgewogICBjYXNlIFNfSUZCTEs6
ICBwcmludGYoImJsb2NrIGRldmljZVxuIik7ICAgICAgICAgICAgYnJlYWs7
CiAgIGNhc2UgU19JRkNIUjogIHByaW50ZigiY2hhcmFjdGVyIGRldmljZVxu
Iik7ICAgICAgICBicmVhazsKICAgY2FzZSBTX0lGRElSOiAgcHJpbnRmKCJk
aXJlY3RvcnlcbiIpOyAgICAgICAgICAgICAgIGJyZWFrOwogICBjYXNlIFNf
SUZJRk86ICBwcmludGYoIkZJRk8vcGlwZVxuIik7ICAgICAgICAgICAgICAg
YnJlYWs7CiAgIGNhc2UgU19JRkxOSzogIHByaW50Zigic3ltbGlua1xuIik7
ICAgICAgICAgICAgICAgICBicmVhazsKICAgY2FzZSBTX0lGUkVHOiAgcHJp
bnRmKCJyZWd1bGFyIGZpbGVcbiIpOyAgICAgICAgICAgIGJyZWFrOwogICBj
YXNlIFNfSUZTT0NLOiBwcmludGYoInNvY2tldFxuIik7ICAgICAgICAgICAg
ICAgICAgYnJlYWs7CiAgIGRlZmF1bHQ6ICAgICAgIHByaW50ZigidW5rbm93
bj9cbiIpOyAgICAgICAgICAgICAgICBicmVhazsKICAgfQoKICAgcHJpbnRm
KCJJLW5vZGUgbnVtYmVyOiAgICAgICAgICAgICVsZFxuIiwgKGxvbmcpc2It
PnN0X2lubyk7CgojaWYgMAogICBwcmludGYoIk1vZGU6ICAgICAgICAgICAg
ICAgICAgICAgJWxvIChvY3RhbClcbiIsICh1bnNpZ25lZCBsb25nKXNiLT5z
dF9tb2RlKTsKI2Vsc2UKICAgcHJpbnRmKCJNb2RlOiAgICAgICAgICAgICAg
ICAgICAgICVsbyAob2N0YWwpLCBscygxKS1zdHlsZTogJXNcbiIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgbG9u
ZylzYi0+c3RfbW9kZSwgZmlsZVBlcm1TdHIoc2ItPnN0X21vZGUsIDApKTsK
I2VuZGlmCgogICBwcmludGYoIkxpbmsgY291bnQ6ICAgICAgICAgICAgICAg
JWxkXG4iLCAobG9uZylzYi0+c3RfbmxpbmspOwogICBwcmludGYoIk93bmVy
c2hpcDogICAgICAgICAgICAgICAgVUlEPSVsZCAgIEdJRD0lbGRcbiIsIChs
b25nKXNiLT5zdF91aWQsIChsb25nKXNiLT5zdF9naWQpOwoKICAgcHJpbnRm
KCJQcmVmZXJyZWQgSS9PIGJsb2NrIHNpemU6ICVsZCBieXRlc1xuIiwgKGxv
bmcpc2ItPnN0X2Jsa3NpemUpOwogICBwcmludGYoIkZpbGUgc2l6ZTogICAg
ICAgICAgICAgICAgJWxsZCBieXRlc1xuIiwgKGxvbmcgbG9uZylzYi0+c3Rf
c2l6ZSk7CiAgIHByaW50ZigiQmxvY2tzIGFsbG9jYXRlZDogICAgICAgICAl
bGxkXG4iLCAobG9uZyBsb25nKXNiLT5zdF9ibG9ja3MpOwoKICAgcHJpbnRm
KCJMYXN0IHN0YXR1cyBjaGFuZ2U6ICAgICAgICVzIiwgY3RpbWUoJnNiLT5z
dF9jdGltZSkpOwogICBwcmludGYoIkxhc3QgZmlsZSBhY2Nlc3M6ICAgICAg
ICAgJXMiLCBjdGltZSgmc2ItPnN0X2F0aW1lKSk7CiAgIHByaW50ZigiTGFz
dCBmaWxlIG1vZGlmaWNhdGlvbjogICAlcyIsIGN0aW1lKCZzYi0+c3RfbXRp
bWUpKTsKfQoKLyogUmV0dXJuIGxzKDEpLXN0eWxlIHN0cmluZyBmb3IgZmls
ZSBwZXJtaXNzaW9ucyBtYXNrICovCgovKiBJbmNsdWRlIHNldC11c2VyLUlE
LCBzZXQtZ3JvdXAtSUQsIGFuZCBzdGlja3kgYml0IGluZm9ybWF0aW9uIGlu
CiAgIHJldHVybmVkIHN0cmluZyAqLwojZGVmaW5lIEZQX1NQRUNJQUwgMQoK
I2RlZmluZSBTVFJfU0laRSBzaXplb2YoInJ3eHJ3eHJ3eCIpCgpzdGF0aWMg
Y2hhciAqCmZpbGVQZXJtU3RyKG1vZGVfdCBwZXJtLCBpbnQgZmxhZ3MpCnsK
ICAgIHN0YXRpYyBjaGFyIHN0cltTVFJfU0laRV07CgogICAgLyogSWYgRlBf
U1BFQ0lBTCB3YXMgc3BlY2lmaWVkLCB3ZSBlbXVsYXRlIHRoZSB0cmlja2Vy
eSBvZiBscygxKSBpbgogICAgICAgcmV0dXJuaW5nIHNldC11c2VyLUlELCBz
ZXQtZ3JvdXAtSUQsIGFuZCBzdGlja3kgYml0IGluZm9ybWF0aW9uIGluCiAg
ICAgICB0aGUgdXNlci9ncm91cC9vdGhlciBleGVjdXRlIGZpZWxkcy4gVGhp
cyBpcyBtYWRlIG1vcmUgY29tcGxleCBieQogICAgICAgdGhlIGZhY3QgdGhh
dCB0aGUgY2FzZSBvZiB0aGUgY2hhcmFjdGVyIGRpc3BsYXllZCBmb3IgdGhp
cyBiaXRzCiAgICAgICBkZXBlbmRzIG9uIHdoZXRoZXIgdGhlIGNvcnJlc3Bv
bmRpbmcgZXhlY3V0ZSBiaXQgaXMgb24gb3Igb2ZmLiAqLwoKICAgIHNucHJp
bnRmKHN0ciwgU1RSX1NJWkUsICIlYyVjJWMlYyVjJWMlYyVjJWMiLAogICAg
ICAgIChwZXJtICYgU19JUlVTUikgPyAncicgOiAnLScsIChwZXJtICYgU19J
V1VTUikgPyAndycgOiAnLScsCiAgICAgICAgKHBlcm0gJiBTX0lYVVNSKSA/
CiAgICAgICAgICAgICgoKHBlcm0gJiBTX0lTVUlEKSAmJiAoZmxhZ3MgJiBG
UF9TUEVDSUFMKSkgPyAncycgOiAneCcpIDoKICAgICAgICAgICAgKCgocGVy
bSAmIFNfSVNVSUQpICYmIChmbGFncyAmIEZQX1NQRUNJQUwpKSA/ICdTJyA6
ICctJyksCiAgICAgICAgKHBlcm0gJiBTX0lSR1JQKSA/ICdyJyA6ICctJywg
KHBlcm0gJiBTX0lXR1JQKSA/ICd3JyA6ICctJywKICAgICAgICAocGVybSAm
IFNfSVhHUlApID8KICAgICAgICAgICAgKCgocGVybSAmIFNfSVNHSUQpICYm
IChmbGFncyAmIEZQX1NQRUNJQUwpKSA/ICdzJyA6ICd4JykgOgogICAgICAg
ICAgICAoKChwZXJtICYgU19JU0dJRCkgJiYgKGZsYWdzICYgRlBfU1BFQ0lB
TCkpID8gJ1MnIDogJy0nKSwKICAgICAgICAocGVybSAmIFNfSVJPVEgpID8g
J3InIDogJy0nLCAocGVybSAmIFNfSVdPVEgpID8gJ3cnIDogJy0nLAogICAg
ICAgIChwZXJtICYgU19JWE9USCkgPwogICAgICAgICAgICAoKChwZXJtICYg
U19JU1ZUWCkgJiYgKGZsYWdzICYgRlBfU1BFQ0lBTCkpID8gJ3QnIDogJ3gn
KSA6CiAgICAgICAgICAgICgoKHBlcm0gJiBTX0lTVlRYKSAmJiAoZmxhZ3Mg
JiBGUF9TUEVDSUFMKSkgPyAnVCcgOiAnLScpKTsKCiAgICByZXR1cm4gc3Ry
Owp9CiAgI2VuZGlmCiNlbmRpZgoKLy89PT09PQo=


--=_e8233a59e192b3622c9d8208f8731238
Content-Type: text/plain; charset=us-ascii


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
--=_e8233a59e192b3622c9d8208f8731238--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019