From: Run Paint Run Run Date: 2010-11-09T10:57:52+09:00 Subject: [ruby-core:33114] [Ruby 1.9-Feature#4038] IO#advise --mimepart_4cd8aaa04ddc_56676cb29b41181 Content-Type: text/plain Content-Transfer-Encoding: Quoted-printable Content-Disposition: inline Issue #4038 has been updated by Run Paint Run Run. File io-advise-2.patch added Updated patch to use rb_syserr_fail(). ---------------------------------------- http://redmine.ruby-lang.org/issues/show/4038 ---------------------------------------- http://redmine.ruby-lang.org --mimepart_4cd8aaa04ddc_56676cb29b41181 Content-Type: text/x-patch; name=io-advise-2.patch Content-Transfer-Encoding: Base64 Content-Disposition: attachment; filename=io-advise-2.patch ZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgppbmRl eCBkYzhjYjdjLi41ZWIwZWY1IDEwMDY0NAotLS0gYS9jb25maWd1cmUuaW4K KysrIGIvY29uZmlndXJlLmluCkBAIC0xMjY2LDcgKzEyNjYsNyBAQCBlbHNl CiBmaQogQUNfQ0hFQ0tfRlVOQ1MoZm1vZCBraWxscGcgd2FpdDQgd2FpdHBp ZCBmb3JrIHNwYXdudiBzeXNjYWxsIGNocm9vdCBnZXRjd2QgZWFjY2Vzc1wK IAkgICAgICB0cnVuY2F0ZSBmdHJ1bmNhdGUgY2hzaXplIHRpbWVzIHV0aW1l cyB1dGltZW5zYXQgZmNudGwgbG9ja2YgbHN0YXRcCi0JICAgICAgbGluayBz eW1saW5rIHJlYWRsaW5rIHJlYWRkaXJfciBmc3luYyBmZGF0YXN5bmMgZmNo b3duXAorCSAgICAgIGxpbmsgc3ltbGluayByZWFkbGluayByZWFkZGlyX3Ig ZnN5bmMgZmRhdGFzeW5jIGZjaG93biBwb3NpeF9mYWR2aXNlXAogCSAgICAg IHNldGl0aW1lciBzZXRydWlkIHNldGV1aWQgc2V0cmV1aWQgc2V0cmVzdWlk IHNldHByb2N0aXRsZSBzb2NrZXRwYWlyXAogCSAgICAgIHNldHJnaWQgc2V0 ZWdpZCBzZXRyZWdpZCBzZXRyZXNnaWQgaXNzZXR1Z2lkIHBhdXNlIGxjaG93 biBsY2htb2RcCiAJICAgICAgZ2V0cGdycCBzZXRwZ3JwIGdldHBnaWQgc2V0 cGdpZCBpbml0Z3JvdXBzIGdldGdyb3VwcyBzZXRncm91cHNcCmRpZmYgLS1n aXQgYS9pby5jIGIvaW8uYwppbmRleCA4ZmE2NjEzLi5hZjZjZDNhIDEwMDY0 NAotLS0gYS9pby5jCisrKyBiL2lvLmMKQEAgLTEsMyArMSw0IEBACisKIC8q KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqCiAKICAgaW8uYyAtCkBAIC0xNDEz LDYgKzE0MTQsMTA3IEBAIHJiX2lvX2ZkYXRhc3luYyhWQUxVRSBpbykKICNk ZWZpbmUgcmJfaW9fZmRhdGFzeW5jIHJiX2Zfbm90aW1wbGVtZW50CiAjZW5k aWYKIAorc3RhdGljIFZBTFVFIHN5bV9ub3JtYWwsICAgc3ltX3NlcXVlbnRp YWwsIHN5bV9yYW5kb20sCisgICAgICAgICAgICAgc3ltX3dpbGxuZWVkLCBz eW1fZG9udG5lZWQsIHN5bV9ub3JldXNlOworLyoKKyAqICBjYWxsLXNlcToK KyAqICAgICBpb3MuYWR2aXNlKGFkdmljZSwgb2Zmc2V0PTAsIGxlbj0wKSAt PiBuaWwKKyAqCisgKiAgQW5ub3VuY2UgYW4gaW50ZW50aW9uIHRvIGFjY2Vz cyBkYXRhIGZyb20gdGhlIGN1cnJlbnQgZmlsZSBpbiBhCisgKiAgc3BlY2lm aWMgcGF0dGVybi4gT24gcGxhdGZvcm1zIHRoYXQgZG8gbm90IHN1cHBvcnQg dGhlCisgKiAgPGVtPnBvc2l4X2ZhZHZpc2UoMik8L2VtPiBzeXN0ZW0gY2Fs bCwgdGhpcyBtZXRob2QgaXMgYSBuby1vcC4KKyAqCisgKiBfYWR2aWNlXyBp cyBvbmUgb2YgdGhlIGZvbGxvd2luZyBzeW1ib2xzOgorICoKKyAqICAqIDpu b3JtYWwgLSBObyBhZHZpY2UgdG8gZ2l2ZTsgdGhlIGRlZmF1bHQgYXNzdW1w dGlvbiBmb3IgYW4gb3BlbiBmaWxlLgorICogICogOnNlcXVlbnRpYWwgLSBU aGUgZGF0YSB3aWxsIGJlIGFjY2Vzc2VkIHNlcXVlbnRpYWxseToKKyAqICAg ICB3aXRoIGxvd2VyIG9mZnNldHMgcmVhZCBiZWZvcmUgaGlnaGVyIG9uZXMu CisgKiAgKiA6cmFuZG9tIC0gVGhlIGRhdGEgd2lsbCBiZSBhY2Nlc3NlZCBp biByYW5kb20gb3JkZXIuCisgKiAgKiA6d2lsbG5lZWQgLSBUaGUgZGF0YSB3 aWxsIGJlIGFjY2Vzc2VkIGluIHRoZSBuZWFyIGZ1dHVyZS4KKyAqICAqIDpk b250bmVlZCAtIFRoZSBkYXRhIHdpbGwgbm90IGJlIGFjY2Vzc2VkIGluIHRo ZSBuZWFyIGZ1dHVyZS4KKyAqICAqIDpub3JldXNlIC0gVGhlIGRhdGEgd2ls bCBvbmx5IGJlIGFjY2Vzc2VkIG9uY2UuCisgKgorICogICJkYXRhIiBtZWFu cyB0aGUgcmVnaW9uIG9mIHRoZSBjdXJyZW50IGZpbGUgdGhhdCBiZWdpbnMK KyAqICBhdCBfb2Zmc2V0XyBhbmQgZXh0ZW5kcyBmb3IgX2xlbl8gYnl0ZXMu IEJ5IGRlZmF1bHQsIGJvdGggX29mZnNldF8KKyAqICBhbmQgX2xlbl8gYXJl IDAsIG1lYW5pbmcgdGhhdCB0aGUgYWR2aWNlIGFwcGxpZXMgdG8gdGhlIGVu dGlyZQorICogIGZpbGUuCisgKgorICogIElmIGFuIGVycm9yIG9jY3Vycywg b25lIG9mIHRoZSBmb2xsb3dpbmcgZXhjZXB0aW9ucyB3aWxsIGJlIHJhaXNl ZDoKKyAqCisgKiAgKiA8Y29kZT5JT0Vycm9yPC9jb2RlPiAtIFRoZSA8Y29k ZT5JTzwvY29kZT4gc3RyZWFtIGlzIGNsb3NlZC4KKyAqICAqIDxjb2RlPkVy cm5vOjpFQkFERjwvY29kZT4gLSBUaGUgZmlsZSBkZXNjcmlwdG9yIG9mIHRo ZSBjdXJyZW50IGZpbGUgaXMKKyAgICAgIGludmFsaWQuCisgKiAgKiA8Y29k ZT5FcnJubzo6RUlOVkFMPC9jb2RlPiAtIEFuIGludmFsaWQgdmFsdWUgZm9y IF9hZHZpY2VfIHdhcyBnaXZlbi4KKyAqICAqIDxjb2RlPkVycm5vOjpFU1BJ UEU8L2NvZGU+IC0gVGhlIGZpbGUgZGVzY3JpcHRvciBvZiB0aGUgY3VycmVu dAorICogICogZmlsZSByZWZlcnMgdG8gYSBGSUZPIG9yIHBpcGUuIChMaW51 eCByYWlzZXMgPGNvZGU+RXJybm86OkVJTlZBTDwvY29kZT4KKyAqICAqIGlu IHRoaXMgY2FzZSkuCisgKiAgKiA8Y29kZT5UeXBlRXJyb3I8L2NvZGU+IC0g RWl0aGVyIF9hZHZpY2VfIHdhcyBub3QgYSBTeW1ib2wsIG9yIG9uZSBvZiB0 aGUKKyAgICAgIG90aGVyIGFyZ3VtZW50cyB3YXMgbm90IGFuIDxjb2RlPklu dGVnZXI8L2NvZGU+LgorICogICogPGNvZGU+UmFuZ2VFcnJvcjwvY29kZT4g LSBPbmUgb2YgdGhlIGFyZ3VtZW50cyBnaXZlbiB3YXMgdG9vIGJpZy9zbWFs bC4KKyAqLworCitzdGF0aWMgVkFMVUUKK3JiX2lvX2FkdmlzZShpbnQgYXJn YywgVkFMVUUgKmFyZ3YsIFZBTFVFIGlvKQoreworICBvZmZfdCBvZmZzZXQs IGxlbjsKKyAgaW50IGFkdmljZSwgcnY7CisgIFZBTFVFIGluaXRhZHZpY2Us IGluaXRvZmZzZXQsIGluaXRsZW47CisgIHJiX2lvX3QgKmZwdHI7CisKKyAg cmJfc2Nhbl9hcmdzKGFyZ2MsIGFyZ3YsICIxMiIsICZpbml0YWR2aWNlLCAm aW5pdG9mZnNldCwgJmluaXRsZW4pOworICBpZiAoVFlQRShpbml0YWR2aWNl KSAhPSBUX1NZTUJPTCkKKyAgICAgIHJiX3JhaXNlKHJiX2VUeXBlRXJyb3Is ICJhZHZpY2UgbXVzdCBiZSBhIFN5bWJvbCIpOworCisgIG9mZnNldCA9IE5J TF9QKGluaXRvZmZzZXQpID8gMCA6IE5VTTJPRkZUKGluaXRvZmZzZXQpOwor ICBsZW4gICAgPSBOSUxfUChpbml0bGVuKSAgICA/IDAgOiBOVU0yT0ZGVChp bml0bGVuKTsKKyAgYWR2aWNlID0gMDsKKworICBpZiAgICAgIChpbml0YWR2 aWNlID09IHN5bV9ub3JtYWwpICAgICB7CisjaWZkZWYgUE9TSVhfRkFEVl9O T1JNQUwKKyAgICAgIGFkdmljZSA9IFBPU0lYX0ZBRFZfTk9STUFMOworI2Vu ZGlmCisgIH0KKyAgZWxzZSBpZiAoaW5pdGFkdmljZSA9PSBzeW1fcmFuZG9t KSAgICAgeworI2lmZGVmIFBPU0lYX0ZBRFZfUkFORE9NCisgICAgICBhZHZp Y2UgPSBQT1NJWF9GQURWX1JBTkRPTTsKKyNlbmRpZgorICB9CisgIGVsc2Ug aWYgKGluaXRhZHZpY2UgPT0gc3ltX3NlcXVlbnRpYWwpIHsKKyNpZmRlZiBQ T1NJWF9GQURWX1NFUVVFTlRJQUwKKyAgICAgIGFkdmljZSA9IFBPU0lYX0ZB RFZfU0VRVUVOVElBTDsKKyNlbmRpZgorICB9CisgIGVsc2UgaWYgKGluaXRh ZHZpY2UgPT0gc3ltX3dpbGxuZWVkKSAgIHsKKyNpZmRlZiBQT1NJWF9GQURW X1dJTExORUVECisgICAgICBhZHZpY2UgPSBQT1NJWF9GQURWX1dJTExORUVE OworI2VuZGlmCisgIH0KKyAgZWxzZSBpZiAoaW5pdGFkdmljZSA9PSBzeW1f ZG9udG5lZWQpICAgeworI2lmZGVmIFBPU0lYX0ZBRFZfRE9OVE5FRUQKKyAg ICAgIGFkdmljZSA9IFBPU0lYX0ZBRFZfRE9OVE5FRUQ7CisjZW5kaWYKKyAg fQorICBlbHNlIGlmIChpbml0YWR2aWNlID09IHN5bV9ub3JldXNlKSAgICB7 CisjaWZkZWYgUE9TSVhfRkFEVl9OT1JFVVNFCisgICAgICBhZHZpY2UgPSBQ T1NJWF9GQURWX05PUkVVU0U7CisjZW5kaWYKKyAgfQorICBlbHNlCisgICAg ICByYl9yYWlzZShyYl9lQXJnRXJyb3IsICJJbnZhbGlkIGFkdmljZTogOiVz IiwKKwkgICAgICAgUlNUUklOR19QVFIocmJfaWQyc3RyKFNZTTJJRChpbml0 YWR2aWNlKSkpKTsKKworI2lmZGVmIEhBVkVfUE9TSVhfRkFEVklTRQorICBp byA9IEdldFdyaXRlSU8oaW8pOworICBHZXRPcGVuRmlsZShpbywgZnB0cik7 CisKKyAgaWYgKHJ2ID0gcG9zaXhfZmFkdmlzZShmcHRyLT5mZCwgb2Zmc2V0 LCBsZW4sIGFkdmljZSkpCisgICAgLyogcG9zaXhfZmFkdmlzZSgyKSBkb2Vz bid0IHNldCBlcnJuby4gT24gc3VjY2VzcyBpdCByZXR1cm5zIDA7IG90aGVy d2lzZQorICAgICAgIGl0IHJldHVybnMgdGhlIGVycm9yIGNvZGUuICovCisg ICAgICByYl9zeXNlcnJfZmFpbChydiwgUlNUUklOR19QVFIoZnB0ci0+cGF0 aHYpKTsKKyNlbmRpZgorICByZXR1cm4gUW5pbDsKK30KKwogLyoKICAqICBj YWxsLXNlcToKICAqICAgICBpb3MuZmlsZW5vICAgIC0+IGZpeG51bQpAQCAt MTAwNTIsNiArMTAxNTQsNyBAQCBJbml0X0lPKHZvaWQpCiAgICAgcmJfZGVm aW5lX21ldGhvZChyYl9jSU8sICJiaW5tb2RlIiwgIHJiX2lvX2Jpbm1vZGVf bSwgMCk7CiAgICAgcmJfZGVmaW5lX21ldGhvZChyYl9jSU8sICJiaW5tb2Rl PyIsIHJiX2lvX2Jpbm1vZGVfcCwgMCk7CiAgICAgcmJfZGVmaW5lX21ldGhv ZChyYl9jSU8sICJzeXNzZWVrIiwgcmJfaW9fc3lzc2VlaywgLTEpOworICAg IHJiX2RlZmluZV9tZXRob2QocmJfY0lPLCAiYWR2aXNlIiwgcmJfaW9fYWR2 aXNlLCAtMSk7CiAKICAgICByYl9kZWZpbmVfbWV0aG9kKHJiX2NJTywgImlv Y3RsIiwgcmJfaW9faW9jdGwsIC0xKTsKICAgICByYl9kZWZpbmVfbWV0aG9k KHJiX2NJTywgImZjbnRsIiwgcmJfaW9fZmNudGwsIC0xKTsKQEAgLTEwMjIw LDQgKzEwMzIzLDEwIEBAIEluaXRfSU8odm9pZCkKICAgICBzeW1fdGV4dG1v ZGUgPSBJRDJTWU0ocmJfaW50ZXJuKCJ0ZXh0bW9kZSIpKTsKICAgICBzeW1f YmlubW9kZSA9IElEMlNZTShyYl9pbnRlcm4oImJpbm1vZGUiKSk7CiAgICAg c3ltX2F1dG9jbG9zZSA9IElEMlNZTShyYl9pbnRlcm4oImF1dG9jbG9zZSIp KTsKKyAgICBzeW1fbm9ybWFsID0gSUQyU1lNKHJiX2ludGVybigibm9ybWFs IikpOworICAgIHN5bV9zZXF1ZW50aWFsID0gSUQyU1lNKHJiX2ludGVybigi c2VxdWVudGlhbCIpKTsKKyAgICBzeW1fcmFuZG9tID0gSUQyU1lNKHJiX2lu dGVybigicmFuZG9tIikpOworICAgIHN5bV93aWxsbmVlZCA9IElEMlNZTShy Yl9pbnRlcm4oIndpbGxuZWVkIikpOworICAgIHN5bV9kb250bmVlZCA9IElE MlNZTShyYl9pbnRlcm4oImRvbnRuZWVkIikpOworICAgIHN5bV9ub3JldXNl ID0gSUQyU1lNKHJiX2ludGVybigibm9yZXVzZSIpKTsKIH0K --mimepart_4cd8aaa04ddc_56676cb29b41181--