thanks
dgk and I coordinated on your suggestion
the iffe-generated <ast_fcntl.h> will do this if O_CLOEXEC is not defined
        #define O_CLOEXEC 0
just like we did with { O_BINARY O_TEXT }
this will cut down on #ifdefs

we also followed gnu's lead and added the 'e' flag to sfopen() for O_CLOEXEC

On Sun, 17 Jun 2012 00:23:13 +0200 Roland Mainz wrote:
> --e89a8f5028eeea122b04c29e601c
> Content-Type: text/plain; charset=ISO-8859-1
> Content-Transfer-Encoding: quoted-printable

> Hi!

> ----

> Attached (as "astopen20120612_o_cloexec_patch20120616_001.diff") is a
> patch which replaces some of the |open()|+|fcntl(...,F_CLOEXEC)|
> sequences in ast-open.2012-06-12 with  |open(...,O_CLOEXEC)|  if the
> |O_CLOEXEC| CPP symbol is available on that platform (I've tested with
> Solaris 11 and SuSE 12.1).

> IMO the patch is simple&&safe enough for ksh93u+, too.

> ----

> Bye,
> Roland

> --=20
> =A0 __ .=A0 . __
> =A0(o.\ \/ /.o) [email protected]
> =A0 \__\/\/__/=A0 MPEG specialist, C&&JAVA&&Sun&&Unix programmer
> =A0 /O /=3D=3D\ O\=A0 TEL +49 641 3992797
> =A0(;O/ \/ \O;)

> --e89a8f5028eeea122b04c29e601c
> Content-Type: text/x-patch; charset=US-ASCII; 
>       name="astopen20120612_o_cloexec_patch20120616_001.diff"
> Content-Disposition: attachment; 
>       filename="astopen20120612_o_cloexec_patch20120616_001.diff"
> Content-Transfer-Encoding: base64
> X-Attachment-Id: f_h3j93gh40

> ZGlmZiAtciAtdSBzcmMvY21kL2tzaDkzL2VkaXQvaGlzdG9yeS5jIHNyYy9jbWQva3NoOTMvZWRp
> dC9oaXN0b3J5LmMKLS0tIHNyYy9jbWQva3NoOTMvZWRpdC9oaXN0b3J5LmMJMjAxMS0xMi0yMCAx
> NjowMToyOS4wMDAwMDAwMDAgKzAxMDAKKysrIHNyYy9jbWQva3NoOTMvZWRpdC9oaXN0b3J5LmMJ
> MjAxMi0wNi0xNiAyMjo0OTo0MS4wNzA3MTM5NTMgKzAyMDAKQEAgLTM4Myw3ICszODMsMTEgQEAK
> IAkJaHAtPmF1ZGl0ZnAgPSAwOwogCQlpZihzaF9pc3N0YXRlKFNIX0lOVEVSQUNUSVZFKSAmJiAo
> aHAtPmF1ZGl0bWFzaz1zaF9jaGVja2F1ZGl0KGhwLFNIT1BUX0FVRElURklMRSwgYnVmZiwgc2l6
> ZW9mKGJ1ZmYpKSkpCiAJCXsKKyNpZmRlZiBPX0NMT0VYRUMKKwkJCWlmKChmZD1zaF9vcGVuKGJ1
> ZmYsT19CSU5BUll8T19XUk9OTFl8T19BUFBFTkR8T19DUkVBVHxPX0NMT0VYRUMsU19JUlVTUnxT
> X0lXVVNSKSk+PTAgJiYgZmQgPCAxMCkKKyNlbHNlCiAJCQlpZigoZmQ9c2hfb3BlbihidWZmLE9f
> QklOQVJZfE9fV1JPTkxZfE9fQVBQRU5EfE9fQ1JFQVQsU19JUlVTUnxTX0lXVVNSKSk+PTAgJiYg
> ZmQgPCAxMCkKKyNlbmRpZgogCQkJewogCQkJCWludCBuOwogCQkJCWlmKChuID0gc2hfZmNudGwo
> ZmQsRl9EVVBGRCwgMTApKSA+PSAwKQpAQCAtMzk0LDcgKzM5OCw5IEBACiAJCQl9CiAJCQlpZihm
> ZD49MCkKIAkJCXsKKyNpZm5kZWYgT19DTE9FWEVDCiAJCQkJZmNudGwoZmQsRl9TRVRGRCxGRF9D
> TE9FWEVDKTsKKyNlbmRpZgogCQkJCWhwLT50dHkgPSBzdHJkdXAodHR5bmFtZSgyKSk7CiAJCQkJ
> aHAtPmF1ZGl0ZnAgPSBzZm5ldygoU2Zpb190KikwLE5VTEwsLTEsZmQsU0ZfV1JJVEUpOwogCQkJ
> fQpkaWZmIC1yIC11IHNyYy9saWIvbGliYXN0L2NvbXAvc3lzbG9nLmMgc3JjL2xpYi9saWJhc3Qv
> Y29tcC9zeXNsb2cuYwotLS0gc3JjL2xpYi9saWJhc3QvY29tcC9zeXNsb2cuYwkyMDEwLTA3LTIy
> IDA4OjUxOjAwLjAwMDAwMDAwMCArMDIwMAorKysgc3JjL2xpYi9saWJhc3QvY29tcC9zeXNsb2cu
> YwkyMDEyLTA2LTE2IDIyOjM1OjUyLjk5ODQ2NjQyMyArMDIwMApAQCAtMjY4LDkgKzI2OCwxNCBA
> QAogCQkJCWNvbnRpbnVlOwogCQkJaWYgKCoocyA9IHAtPm5hbWUpICE9ICcvJyAmJiAhKHMgPSBw
> YXRocGF0aChidWYsIHMsICIiLCBQQVRIX1JFR1VMQVJ8UEFUSF9SRUFELCBzaXplb2YoYnVmKSkp
> KQogCQkJCWNvbnRpbnVlOworI2lmZGVmIE9fQ0xPRVhFQworCQkJaWYgKChsb2cuZmQgPSBvcGVu
> KHMsIE9fV1JPTkxZfE9fQVBQRU5EfE9fTk9DVFRZfE9fQ0xPRVhFQykpIDwgMCAmJiAobG9nLmZk
> ID0gc29ja29wZW4ocykpIDwgMCkKKwkJCQljb250aW51ZTsKKyNlbHNlCiAJCQlpZiAoKGxvZy5m
> ZCA9IG9wZW4ocywgT19XUk9OTFl8T19BUFBFTkR8T19OT0NUVFkpKSA8IDAgJiYgKGxvZy5mZCA9
> IHNvY2tvcGVuKHMpKSA8IDApCiAJCQkJY29udGludWU7CiAJCQlmY250bChsb2cuZmQsIEZfU0VU
> RkQsIEZEX0NMT0VYRUMpOworI2VuZGlmCiAJCX0KIAkJaWYgKCFuIHx8IHdyaXRlKGxvZy5mZCwg
> bXNnLCBuKSA+IDApCiAJCQlicmVhazsKZGlmZiAtciAtdSBzcmMvbGliL2xpYmFzdC9kaXIvb3Bl
> bmRpci5jIHNyYy9saWIvbGliYXN0L2Rpci9vcGVuZGlyLmMKLS0tIHNyYy9saWIvbGliYXN0L2Rp
> ci9vcGVuZGlyLmMJMjAwMC0xMi0xNCAxNzoyMDozNC4wMDAwMDAwMDAgKzAxMDAKKysrIHNyYy9s
> aWIvbGliYXN0L2Rpci9vcGVuZGlyLmMJMjAxMi0wNi0xNiAyMjozMzo1OS41NDMyOTY3MTAgKzAy
> MDAKQEAgLTUyLDEwICs1MiwxNiBAQAogCXJlZ2lzdGVyIGludAlmZDsKIAlzdHJ1Y3Qgc3RhdAlz
> dDsKIAorI2lmZGVmIE9fQ0xPRVhFQworCWlmICgoZmQgPSBvcGVuKHBhdGgsIE9fUkRPTkxZfE9f
> Q0xPRVhFQykpIDwgMCkgcmV0dXJuKDApOworI2Vsc2UKIAlpZiAoKGZkID0gb3BlbihwYXRoLCBP
> X1JET05MWSkpIDwgMCkgcmV0dXJuKDApOworI2VuZGlmCiAJaWYgKGZzdGF0KGZkLCAmc3QpIDwg
> MCB8fAogCSAgICFTX0lTRElSKHN0LnN0X21vZGUpICYmIChlcnJubyA9IEVOT1RESVIpIHx8Cisj
> aWZuZGVmIE9fQ0xPRVhFQwogCSAgIGZjbnRsKGZkLCBGX1NFVEZELCBGRF9DTE9FWEVDKSB8fAor
> I2VuZGlmCiAJICAgIShkaXJwID0gZnJlZWRpcnAgPyBmcmVlZGlycCA6CiAjaWYgZGVmaW5lZChf
> RElSX1BSSVZBVEVfKSB8fCBfcHRyX2RkX2J1ZgogCSAgIG5ld29mKDAsIERJUiwgMSwgRElSQkxL
> U0laKQpkaWZmIC1yIC11IHNyYy9saWIvbGliYXN0L3ZtYWxsb2MvbWFsbG9jLmMgc3JjL2xpYi9s
> aWJhc3Qvdm1hbGxvYy9tYWxsb2MuYwotLS0gc3JjL2xpYi9saWJhc3Qvdm1hbGxvYy9tYWxsb2Mu
> YwkyMDEyLTA1LTI5IDE0OjUzOjMzLjAwMDAwMDAwMCArMDIwMAorKysgc3JjL2xpYi9saWJhc3Qv
> dm1hbGxvYy9tYWxsb2MuYwkyMDEyLTA2LTE2IDIyOjMyOjA1LjY3OTAyODA0MCArMDIwMApAQCAt
> MTIyNyw3ICsxMjI3LDExIEBACiAJZWxzZSBpZiAoKmZpbGUpCiAJewogI2lmIF9QQUNLQUdFX2Fz
> dAorI2lmZGVmIE9fQ0xPRVhFQworCQlmZCA9IG9wZW4oZmlsZSwgT19XUk9OTFl8T19DUkVBVHxP
> X1RSVU5DfE9fQ0xPRVhFQywgQ1JFQVRfTU9ERSk7CisjZWxzZQogCQlmZCA9IG9wZW4oZmlsZSwg
> T19XUk9OTFl8T19DUkVBVHxPX1RSVU5DLCBDUkVBVF9NT0RFKTsKKyNlbmRpZgogI2Vsc2UKIAkJ
> ZmQgPSBjcmVhdChmaWxlLCBDUkVBVF9NT0RFKTsKICNlbmRpZgpAQCAtMTIzNiwxMSArMTI0MCwx
> MyBAQAogCWVsc2UKIAkJcmV0dXJuIC0xOwogI2lmIF9QQUNLQUdFX2FzdAorI2lmbmRlZiBPX0NM
> T0VYRUMKICNpZmRlZiBGRF9DTE9FWEVDCiAJaWYgKGZkID49IDApCiAJCWZjbnRsKGZkLCBGX1NF
> VEZELCBGRF9DTE9FWEVDKTsKICNlbmRpZgogI2VuZGlmCisjZW5kaWYKIAlyZXR1cm4gZmQ7CiB9
> CiAKZGlmZiAtciAtdSBzcmMvbGliL2xpYmNtZC9NYWtlZmlsZSBzcmMvbGliL2xpYmNtZC9NYWtl
> ZmlsZQotLS0gc3JjL2xpYi9saWJjbWQvTWFrZWZpbGUJMjAxMi0wNi0wOCAyMToyOToxNC4wMDAw
> MDAwMDAgKzAyMDAKKysrIHNyYy9saWIvbGliY21kL01ha2VmaWxlCTIwMTItMDYtMTYgMjI6NTI6
> MzAuMDE4MzI1OTYwICswMjAwCkBAIC0yNSw2ICsyNSw3IEBACiAJbWtmaWZvLmMgbWt0ZW1wLmMg
> bXYuYyBwYXN0ZS5jIHBhdGhjaGsuYyBwaWRzLmMgcmV2LmMgcm0uYyBcCiAJcm1kaXIuYyBzdHR5
> LmMgc3VtLmMgc3luYy5jIHRhaWwuYyB0ZWUuYyB0dHkuYyB1bmFtZS5jIHVuaXEuYyBcCiAJdm1z
> dGF0ZS5jIHdjLmMgcmV2bGliLmMgd2NsaWIuYyBzdW1saWIubyBcCisJZ3JlcC5jIHhhcmdzLmMg
> dHIuYyBvZC5jIFwKIAlmdHNfZml4LmMgbGliLmMgXAogCS1sZnNnIC1sbWQgLWx1dGlsCiAKZGlm
> ZiAtciAtdSBzcmMvbGliL2xpYnRrc2gvdGNsL3RjbFVuaXhDaGFuLmMgc3JjL2xpYi9saWJ0a3No
> L3RjbC90Y2xVbml4Q2hhbi5jCi0tLSBzcmMvbGliL2xpYnRrc2gvdGNsL3RjbFVuaXhDaGFuLmMJ
> MjAwMC0wMi0wOSAxNjoxNjoxMy4wMDAwMDAwMDAgKzAxMDAKKysrIHNyYy9saWIvbGlidGtzaC90
> Y2wvdGNsVW5peENoYW4uYwkyMDEyLTA2LTE2IDIyOjM4OjI4LjQ3Mjg5MDAzOCArMDIwMApAQCAt
> MTEzNiw3ICsxMTM2LDExIEBACiAgICAgaWYgKG5hdGl2ZU5hbWUgPT0gTlVMTCkgewogCXJldHVy
> biBOVUxMOwogICAgIH0KKyNpZmRlZiBPX0NMT0VYRUMKKyAgICBmZCA9IG9wZW4obmF0aXZlTmFt
> ZSwgbW9kZXxPX0NMT0VYRUMsIHBlcm1pc3Npb25zKTsKKyNlbHNlCiAgICAgZmQgPSBvcGVuKG5h
> dGl2ZU5hbWUsIG1vZGUsIHBlcm1pc3Npb25zKTsKKyNlbmRpZgogCiAgICAgLyoKICAgICAgKiBJ
> ZiBuYXRpdmVOYW1lIGlzIG5vdCBOVUxMLCB0aGUgYnVmZmVyIGlzIHZhbGlkIGFuZCB3ZSBtdXN0
> IGZyZWUKQEAgLTExNTcsOSArMTE2MSwxMSBAQAogICAgICAqIFNldCBjbG9zZS1vbi1leGVjIGZs
> YWcgb24gdGhlIGZkIHNvIHRoYXQgY2hpbGQgcHJvY2Vzc2VzIHdpbGwgbm90CiAgICAgICogaW5o
> ZXJpdCB0aGlzIGZkLgogICAgICAqLwotICAKKworI2lmbmRlZiBPX0NMT0VYRUMKICAgICBmY250
> bChmZCwgRl9TRVRGRCwgRkRfQ0xPRVhFQyk7Ci0gICAgCisjZW5kaWYKKwogICAgIHNwcmludGYo
> Y2hhbm5lbE5hbWUsICJmaWxlJWQiLCBmZCk7CiAgICAgZmlsZSA9IFRjbF9HZXRGaWxlKChDbGll
> bnREYXRhKSBmZCwgVENMX1VOSVhfRkQpOwogICAgIApkaWZmIC1yIC11IHNyYy9saWIvbGlidGtz
> aC90Y2wvdGNsVW5peEZpbGUuYyBzcmMvbGliL2xpYnRrc2gvdGNsL3RjbFVuaXhGaWxlLmMKLS0t
> IHNyYy9saWIvbGlidGtzaC90Y2wvdGNsVW5peEZpbGUuYwkyMDA0LTA3LTIzIDA4OjU0OjE4LjAw
> MDAwMDAwMCArMDIwMAorKysgc3JjL2xpYi9saWJ0a3NoL3RjbC90Y2xVbml4RmlsZS5jCTIwMTIt
> MDYtMTYgMjI6Mzc6MDUuOTM2NTE3MDQ5ICswMjAwCkBAIC0yNDMsOSArMjQzLDE1IEBACiB7CiAg
> ICAgaW50IGZkOwogCisjaWZkZWYgT19DTE9FWEVDCisgICAgZmQgPSBvcGVuKGZuYW1lLCBtb2Rl
> fE9fQ0xPRVhFQywgU19JUlVTUnxTX0lXVVNSfFNfSVJHUlB8U19JV0dSUHxTX0lST1RIfFNfSVdP
> VEgpOworI2Vsc2UKICAgICBmZCA9IG9wZW4oZm5hbWUsIG1vZGUsIFNfSVJVU1J8U19JV1VTUnxT
> X0lSR1JQfFNfSVdHUlB8U19JUk9USHxTX0lXT1RIKTsKKyNlbmRpZgogICAgIGlmIChmZCAhPSAt
> MSkgeworI2lmbmRlZiBPX0NMT0VYRUMKICAgICAgICAgZmNudGwoZmQsIEZfU0VURkQsIEZEX0NM
> T0VYRUMpOworI2VuZGlmCiAgICAgICAgIHJldHVybiBUY2xfR2V0RmlsZSgoQ2xpZW50RGF0YSlm
> ZCwgVENMX1VOSVhfRkQpOwogICAgIH0KICAgICByZXR1cm4gTlVMTDsK
> --e89a8f5028eeea122b04c29e601c--

_______________________________________________
ast-developers mailing list
[email protected]
https://mailman.research.att.com/mailman/listinfo/ast-developers

Reply via email to