[#49078] DevelopersMeeting20150728Japan — SASADA Koichi <ko1@...>
Hi,
5 messages
2015/06/12
[ruby-dev:49017] [Ruby trunk - Feature #11216] [Open] inode for Windows
From:
naruse@...
Date:
2015-06-03 13:32:23 UTC
List:
ruby-dev #49017
SXNzdWUgIzExMjE2IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IFl1aSBOQVJVU0Uu CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkZl YXR1cmUgIzExMjE2OiBpbm9kZSBmb3IgV2luZG93cwpodHRwczovL2J1Z3Mu cnVieS1sYW5nLm9yZy9pc3N1ZXMvMTEyMTYKCiogQXV0aG9yOiBZdWkgTkFS VVNFCiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5vcm1hbAoqIEFzc2ln bmVlOiAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQrnj77lnKhXaW5kb3dz44Gn44GvRmlsZTo6U3RhdCNpbm9kZeOBr+W4uOOB qzDjgpLov5TjgZfjgb7jgZnjgYzjgIEK5L6L44GI44Gw44GC44KLbG9ncm90 YXRl55qE44Gq6YGL55So44Gu6KGM44KP44KM44KL44OV44Kh44Kk44Or44KS 55uj6KaW44O76ZaL44GN44Gj44Gx44Gq44GX44Gr44GX44Gm44CB6L+96KiY 44GV44KM44KM44Gw5beu5YiG44KS6Kqt44G/44CBCnJvdGF0ZeOBleOCjOOB n+WgtOWQiOOBr+aknOWHuuOBl+OBpuacgOaWsOOBruODreOCsOOCkuiqreOC gOKApuOBqOOBhOOBhuOCiOOBhuOBquWgtOWQiOOBq+OAgXJvdGF0ZeOCkuak nOWHuuOBmeOCi+mam+OBq2lub2Rl44Gv5L2/44KP44KM44G+44GZ44CCCgpX aW5kb3dz44Gr44GvR2V0RmlsZUluZm9ybWF0aW9uQnlIYW5kbGUoKeOBqOOB hOOBhkFQSeOBp+W+l+OCieOCjOOCi0JZX0hBTkRMRV9GSUxFX0lORk9STUFU SU9O5qeL6YCg5L2T44Gu44Oh44Oz44OQ44CBCm5GaWxlSW5kZXhIaWdoL0xv d+OBi+OCiTY0Yml044Gu44OV44Kh44Kk44Or44K344K544OG44OgdW5pcXVl 44GqSUTjgYzjgYLjgovjga7jgafjgIHjgZPjgozjgpJpbm9kZeOBqOOBl+OB puS7o+eUqOOBjOWPr+iDveOBp+OBmeOAggoK5ZWP6aGM44Gv44GT44KM44KS RmlsZTo6U3RhdOOBq+OBhOOCjOOCi+OBq+OBr+OCguOBqOOBrnN0cnVjdCBz dGF0Lmlub+OBjDE2Yml044Gn5bCP44GV44GZ44GO44KL54K544Gn44GZ44GM 44CBCuW5uOOBhHN0cnVjdCBzdGF0aTY044Gr44Gv44Ki44Op44Kk44Oh44Oz 44OI44Gu6YO95ZCI44Gn6ZqZ6ZaT44GM44GC44KL44Gf44KB44CB44Gd44GT 44Gr44Gk44Gj44GT44KA44GT44Go44Gr44GX44Gm44GE44G+44GZ44CCCu+8 iGRlduOBqHVkZXbjgYzluLjjgavlkIzjgZjjgajjgYvjgIF1aWTjgoRnaWTj gYzluLjjgasw44Gq44Gp54Sh5oSP5ZGz44Gq5YCk44Gv5LuW44Gr44KC44GC 44KK44G+44GZ44GM77yJCmh0dHBzOi8vbXNkbi5taWNyb3NvZnQuY29tL2ph LWpwL2xpYnJhcnkvbXMzNTAyNDElMjh2PXZzLjcxJTI5LmFzcHgKCmBgYApk aWZmIC0tZ2l0IGEvZmlsZS5jIGIvZmlsZS5jCmluZGV4IGFjOTlkZTYuLjc2 MWZmMWYgMTAwNjQ0Ci0tLSBhL2ZpbGUuYworKysgYi9maWxlLmMKQEAgLTU0 OCw3ICs1NDgsMTggQEAgcmJfc3RhdF9kZXZfbWlub3IoVkFMVUUgc2VsZikK IHN0YXRpYyBWQUxVRQogcmJfc3RhdF9pbm8oVkFMVUUgc2VsZikKIHsKLSNp ZiBTSVpFT0ZfU1RSVUNUX1NUQVRfU1RfSU5PID4gU0laRU9GX0xPTkcKKyNp ZmRlZiBfV0lOMzIKKyAgICBzdHJ1Y3Qgc3RhdCAqc3QgPSBnZXRfc3RhdChz ZWxmKTsKKyAgICB1bnNpZ25lZCBzaG9ydCAqcDIgPSAodW5zaWduZWQgc2hv cnQgKilzdDsKKyAgICB1bnNpZ25lZCBpbnQgKnA0ID0gKHVuc2lnbmVkIGlu dCAqKXN0OworICAgIHVpbnQ2NF90IHI7CisgICAgciA9IHAyWzJdOworICAg IHIgPDw9IDE2OworICAgIHIgfD0gcDJbN107CisgICAgciA8PD0gMzI7Cisg ICAgciB8PSBwNFs1XTsKKyAgICByZXR1cm4gVUxMMk5VTShyKTsKKyNlbGlm IFNJWkVPRl9TVFJVQ1RfU1RBVF9TVF9JTk8gPiBTSVpFT0ZfTE9ORwogICAg IHJldHVybiBVTEwyTlVNKGdldF9zdGF0KHNlbGYpLT5zdF9pbm8pOwogI2Vs c2UKICAgICByZXR1cm4gVUxPTkcyTlVNKGdldF9zdGF0KHNlbGYpLT5zdF9p bm8pOwpkaWZmIC0tZ2l0IGEvd2luMzIvd2luMzIuYyBiL3dpbjMyL3dpbjMy LmMKaW5kZXggYjIzZTlhZi4uZmNmYzBhNiAxMDA2NDQKLS0tIGEvd2luMzIv d2luMzIuYworKysgYi93aW4zMi93aW4zMi5jCkBAIC00OTc1LDYgKzQ5NzUs NDggQEAgc3RhdGljIHRpbWVfdCBmaWxldGltZV90b191bml4dGltZShjb25z dCBGSUxFVElNRSAqZnQpOwogc3RhdGljIFdDSEFSICpuYW1lX2Zvcl9zdGF0 KFdDSEFSICpidWYsIGNvbnN0IFdDSEFSICpwYXRoKTsKIHN0YXRpYyBEV09S RCBzdGF0aTY0X2hhbmRsZShIQU5ETEUgaCwgc3RydWN0IHN0YXRpNjQgKnN0 KTsKIAorLyogTGljZW5zZTogUnVieSdzICovCitzdGF0aWMgdm9pZAorc3Rh dGk2NF9zZXRfaW5vZGUoUEJZX0hBTkRMRV9GSUxFX0lORk9STUFUSU9OIHBp bmZvLCBzdHJ1Y3Qgc3RhdGk2NCAqc3QpCit7CisgICAgLyogc3RydWN0IHN0 YXRpNjQgbGF5b3V0CisgICAgICoKKyAgICAgKiBkZXY6IDAtMworICAgICAq IGlubzogNC01CisgICAgICogbW9kZTogNi03CisgICAgICogbmxpbms6IDgt OQorICAgICAqIHVpZDogMTAtMTEKKyAgICAgKiBnaWQ6IDEyLTEzCisgICAg ICogXzogMTQtMTUKKyAgICAgKiByZGV2OiAxNi0xOQorICAgICAqIF86IDIw LTIzCisgICAgICogc2l6ZTogMjQtMzEKKyAgICAgKiBhdGltZTogMzItMzkK KyAgICAgKiBtdGltZTogNDAtNDcKKyAgICAgKiBjdGltZTogNDgtNTUKKyAg ICAgKgorICAgICAqLworICAgIHVuc2lnbmVkIHNob3J0ICpwMiA9ICh1bnNp Z25lZCBzaG9ydCAqKXN0OworICAgIHVuc2lnbmVkIGludCAqcDQgPSAodW5z aWduZWQgaW50ICopc3Q7CisgICAgRFdPUkQgaGlnaCA9IHBpbmZvLT5uRmls ZUluZGV4SGlnaDsKKyAgICBwMlsyXSA9IGhpZ2ggPj4gMTY7CisgICAgcDJb N10gPSBoaWdoICYgMHhGRkZGOworICAgIHA0WzVdID0gcGluZm8tPm5GaWxl SW5kZXhMb3c7Cit9CisKKy8qIExpY2Vuc2U6IFJ1YnkncyAqLworc3RhdGlj IERXT1JECitzdGF0aTY0X3NldF9pbm9kZV9oYW5kbGUoSEFORExFIGgsIHN0 cnVjdCBzdGF0aTY0ICpzdCkKK3sKKyAgICBCWV9IQU5ETEVfRklMRV9JTkZP Uk1BVElPTiBpbmZvOworICAgIERXT1JEIGF0dHIgPSAoRFdPUkQpLTE7CisK KyAgICBpZiAoR2V0RmlsZUluZm9ybWF0aW9uQnlIYW5kbGUoaCwgJmluZm8p KSB7CisJc3RhdGk2NF9zZXRfaW5vZGUoJmluZm8sIHN0KTsKKyAgICB9Cisg ICAgcmV0dXJuIGF0dHI7Cit9CisKICN1bmRlZiBmc3RhdAogLyogTGljZW5z ZTogUnVieSdzICovCiBpbnQKQEAgLTUwMDAsNyArNTA0MiwxMSBAQCByYl93 MzJfZnN0YXRpNjQoaW50IGZkLCBzdHJ1Y3Qgc3RhdGk2NCAqc3QpCiAgICAg c3RydWN0IHN0YXQgdG1wOwogICAgIGludCByZXQ7CiAKLSAgICBpZiAoR2V0 RW52aXJvbm1lbnRWYXJpYWJsZVcoTCJUWiIsIE5VTEwsIDApID09IDAgJiYg R2V0TGFzdEVycm9yKCkgPT0gRVJST1JfRU5WVkFSX05PVF9GT1VORCkgcmV0 dXJuIF9mc3RhdGk2NChmZCwgc3QpOworICAgIGlmIChHZXRFbnZpcm9ubWVu dFZhcmlhYmxlVyhMIlRaIiwgTlVMTCwgMCkgPT0gMCAmJiBHZXRMYXN0RXJy b3IoKSA9PSBFUlJPUl9FTlZWQVJfTk9UX0ZPVU5EKSB7CisJcmV0ID0gX2Zz dGF0aTY0KGZkLCBzdCk7CisJc3RhdGk2NF9zZXRfaW5vZGVfaGFuZGxlKChI QU5ETEUpX2dldF9vc2ZoYW5kbGUoZmQpLCBzdCk7CisJcmV0dXJuIHJldDsK KyAgICB9CiAgICAgcmV0ID0gZnN0YXQoZmQsICZ0bXApOwogCiAgICAgaWYg KHJldCkgcmV0dXJuIHJldDsKQEAgLTUwMjIsNiArNTA2OCw3IEBAIHN0YXRp NjRfaGFuZGxlKEhBTkRMRSBoLCBzdHJ1Y3Qgc3RhdGk2NCAqc3QpCiAJc3Qt PnN0X210aW1lID0gZmlsZXRpbWVfdG9fdW5peHRpbWUoJmluZm8uZnRMYXN0 V3JpdGVUaW1lKTsKIAlzdC0+c3RfY3RpbWUgPSBmaWxldGltZV90b191bml4 dGltZSgmaW5mby5mdENyZWF0aW9uVGltZSk7CiAJc3QtPnN0X25saW5rID0g aW5mby5uTnVtYmVyT2ZMaW5rczsKKwlzdGF0aTY0X3NldF9pbm9kZSgmaW5m bywgc3QpOwogCWF0dHIgPSBpbmZvLmR3RmlsZUF0dHJpYnV0ZXM7CiAgICAg fQogICAgIHJldHVybiBhdHRyOwpgYGAKCgoKLS0gCmh0dHBzOi8vYnVncy5y dWJ5LWxhbmcub3JnLwo=