From: Run Paint Run Run Date: 2010-11-08T21:49:05+09:00 Subject: [ruby-core:33107] [Ruby 1.9-Feature#4015] File::DIRECT Constant for O_DIRECT --mimepart_4cd7f1b884456_566d5b951406ba Content-Type: text/plain Content-Transfer-Encoding: Quoted-printable Content-Disposition: inline Issue #4015 has been updated by Run Paint Run Run. File io-advise.patch added Thanks, Eric. I've updated the patch with your suggestions. The _advice_ = argument is now a Symbol. On platforms that don't support posix_fadvise(2= ), the arguments are still sanity checked--hence the ugly ifdefs--but the= n we just return nil. ---------------------------------------- http://redmine.ruby-lang.org/issues/show/4015 ---------------------------------------- http://redmine.ruby-lang.org --mimepart_4cd7f1b884456_566d5b951406ba Content-Type: text/x-patch; name=io-advise.patch Content-Transfer-Encoding: Base64 Content-Disposition: attachment; filename=io-advise.patch ZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgppbmRl eCBkYzhjYjdjLi41ZWIwZWY1IDEwMDY0NAotLS0gYS9jb25maWd1cmUuaW4K KysrIGIvY29uZmlndXJlLmluCkBAIC0xMjY2LDcgKzEyNjYsNyBAQCBlbHNl CiBmaQogQUNfQ0hFQ0tfRlVOQ1MoZm1vZCBraWxscGcgd2FpdDQgd2FpdHBp ZCBmb3JrIHNwYXdudiBzeXNjYWxsIGNocm9vdCBnZXRjd2QgZWFjY2Vzc1wK IAkgICAgICB0cnVuY2F0ZSBmdHJ1bmNhdGUgY2hzaXplIHRpbWVzIHV0aW1l cyB1dGltZW5zYXQgZmNudGwgbG9ja2YgbHN0YXRcCi0JICAgICAgbGluayBz eW1saW5rIHJlYWRsaW5rIHJlYWRkaXJfciBmc3luYyBmZGF0YXN5bmMgZmNo b3duXAorCSAgICAgIGxpbmsgc3ltbGluayByZWFkbGluayByZWFkZGlyX3Ig ZnN5bmMgZmRhdGFzeW5jIGZjaG93biBwb3NpeF9mYWR2aXNlXAogCSAgICAg IHNldGl0aW1lciBzZXRydWlkIHNldGV1aWQgc2V0cmV1aWQgc2V0cmVzdWlk IHNldHByb2N0aXRsZSBzb2NrZXRwYWlyXAogCSAgICAgIHNldHJnaWQgc2V0 ZWdpZCBzZXRyZWdpZCBzZXRyZXNnaWQgaXNzZXR1Z2lkIHBhdXNlIGxjaG93 biBsY2htb2RcCiAJICAgICAgZ2V0cGdycCBzZXRwZ3JwIGdldHBnaWQgc2V0 cGdpZCBpbml0Z3JvdXBzIGdldGdyb3VwcyBzZXRncm91cHNcCmRpZmYgLS1n aXQgYS9pby5jIGIvaW8uYwppbmRleCA4ZmE2NjEzLi45MGQyZDU5IDEwMDY0 NAotLS0gYS9pby5jCisrKyBiL2lvLmMKQEAgLTEsMyArMSw0IEBACisKIC8q KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqCiAKICAgaW8uYyAtCkBAIC0xNDEz LDYgKzE0MTQsMTA5IEBAIHJiX2lvX2ZkYXRhc3luYyhWQUxVRSBpbykKICNk 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 LCBsZW4sIGFkdmljZSkpIHsKKyAgICAvKiBwb3NpeF9mYWR2aXNlKDIpIGRv ZXNuJ3Qgc2V0IGVycm5vLiBPbiBzdWNjZXNzIGl0IHJldHVybnMgMDsgb3Ro ZXJ3aXNlCisgICAgICAgaXQgcmV0dXJucyB0aGUgZXJyb3IgY29kZS4gKi8K KyAgICBlcnJubyA9IHJ2OworICAgIHJiX3N5c19mYWlsX3BhdGgoZnB0ci0+ cGF0aHYpOworICB9CisjZW5kaWYKKyAgcmV0dXJuIFFuaWw7Cit9CisKIC8q CiAgKiAgY2FsbC1zZXE6CiAgKiAgICAgaW9zLmZpbGVubyAgICAtPiBmaXhu dW0KQEAgLTEwMDUyLDYgKzEwMTU2LDcgQEAgSW5pdF9JTyh2b2lkKQogICAg IHJiX2RlZmluZV9tZXRob2QocmJfY0lPLCAiYmlubW9kZSIsICByYl9pb19i aW5tb2RlX20sIDApOwogICAgIHJiX2RlZmluZV9tZXRob2QocmJfY0lPLCAi YmlubW9kZT8iLCByYl9pb19iaW5tb2RlX3AsIDApOwogICAgIHJiX2RlZmlu ZV9tZXRob2QocmJfY0lPLCAic3lzc2VlayIsIHJiX2lvX3N5c3NlZWssIC0x KTsKKyAgICByYl9kZWZpbmVfbWV0aG9kKHJiX2NJTywgImFkdmlzZSIsIHJi X2lvX2FkdmlzZSwgLTEpOwogCiAgICAgcmJfZGVmaW5lX21ldGhvZChyYl9j SU8sICJpb2N0bCIsIHJiX2lvX2lvY3RsLCAtMSk7CiAgICAgcmJfZGVmaW5l X21ldGhvZChyYl9jSU8sICJmY250bCIsIHJiX2lvX2ZjbnRsLCAtMSk7CkBA IC0xMDIyMCw0ICsxMDMyNSwxMCBAQCBJbml0X0lPKHZvaWQpCiAgICAgc3lt X3RleHRtb2RlID0gSUQyU1lNKHJiX2ludGVybigidGV4dG1vZGUiKSk7CiAg ICAgc3ltX2Jpbm1vZGUgPSBJRDJTWU0ocmJfaW50ZXJuKCJiaW5tb2RlIikp OwogICAgIHN5bV9hdXRvY2xvc2UgPSBJRDJTWU0ocmJfaW50ZXJuKCJhdXRv Y2xvc2UiKSk7CisgICAgc3ltX25vcm1hbCA9IElEMlNZTShyYl9pbnRlcm4o Im5vcm1hbCIpKTsKKyAgICBzeW1fc2VxdWVudGlhbCA9IElEMlNZTShyYl9p bnRlcm4oInNlcXVlbnRpYWwiKSk7CisgICAgc3ltX3JhbmRvbSA9IElEMlNZ TShyYl9pbnRlcm4oInJhbmRvbSIpKTsKKyAgICBzeW1fd2lsbG5lZWQgPSBJ RDJTWU0ocmJfaW50ZXJuKCJ3aWxsbmVlZCIpKTsKKyAgICBzeW1fZG9udG5l ZWQgPSBJRDJTWU0ocmJfaW50ZXJuKCJkb250bmVlZCIpKTsKKyAgICBzeW1f bm9yZXVzZSA9IElEMlNZTShyYl9pbnRlcm4oIm5vcmV1c2UiKSk7CiB9Cg== --mimepart_4cd7f1b884456_566d5b951406ba--