[#82706] [Ruby trunk Bug#13851] getting "can't modify string; temporarily locked" on non-frozen instances — cardoso_tiago@...
Issue #13851 has been updated by chucke (Tiago Cardoso).
3 messages
2017/09/07
[#82853] [Ruby trunk Bug#13916] Race condition when sending a signal to a new fork — russell.davis@...
Issue #13916 has been reported by russelldavis (Russell Davis).
3 messages
2017/09/19
[#82892] [Ruby trunk Bug#13921] buffered read_nonblock doesn't work as expected using SSLSocket — cardoso_tiago@...
Issue #13921 has been updated by chucke (Tiago Cardoso).
3 messages
2017/09/20
[ruby-core:82748] [Ruby trunk Feature#13873] Optimize Dir.glob with FNM_EXTGLOB
From:
pdahorek@...
Date:
2017-09-11 14:07:19 UTC
List:
ruby-core #82748
SXNzdWUgIzEzODczIGhhcyBiZWVuIHVwZGF0ZWQgYnkgYWhvcmVrIChQYXZlbCBSb3NpY2vDvSku CgoKdmVyeSBuaWNlIGltcHJvdmVtZW50IQoKaG93ZXZlciB0aGlzIG9uZSBzaG91bGQgYmUgaGFu ZGxlZCBldmVuIGlmIHRoaXMgcGF0dGVybiBtYWtlcyBubyBzZW5zZQoKfn5+CkRpclsnYzovdGVz dHtjOi90ZXN0fXsuaHRtbH0nXQpFcnJubzo6RUlOVkFMOiBJbnZhbGlkIGFyZ3VtZW50IC0gYzov dGVzdGM6Cn5+fgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRmVh dHVyZSAjMTM4NzM6IE9wdGltaXplIERpci5nbG9iIHdpdGggRk5NX0VYVEdMT0IKaHR0cHM6Ly9i dWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzEzODczI2NoYW5nZS02NjYwNQoKKiBBdXRob3I6IG5h cnVzZSAoWXVpIE5BUlVTRSkKKiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTogTm9ybWFsCiogQXNz aWduZWU6IAoqIFRhcmdldCB2ZXJzaW9uOiAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQpSYWlscyBvZnRlbiBxdWVyaWVzIERpci5nbG9iIHdpdGggY29tcGxleCBwYXR0 ZXJuLgoKT24gYWNjZXNzaW5nIFJhaWxzIHNpdGUsIGl0IGNhbGxzIGdsb2IgYXMgZm9sbG93cyBv biBxdWVyeWluZyB0ZW1wbGF0ZXMuCk5vdGUgdGhhdCBEaXJbXSBpbnNpc3RzIEZpbGU6OkZOTV9F WFRHTE9CLgoKYGBgcnVieQogICAgICBkZWYgZmluZF90ZW1wbGF0ZV9wYXRocyhxdWVyeSkKICAg ICAgICBEaXJbcXVlcnldLnVuaXEucmVqZWN0IGRvIHxmaWxlbmFtZXwKICAgICAgICAgIEZpbGUu ZGlyZWN0b3J5PyhmaWxlbmFtZSkgfHwKICAgICAgICAgICAgIyBkZWFscyB3aXRoIGNhc2UtaW5z ZW5zaXRpdmUgZmlsZSBzeXN0ZW1zLgogICAgICAgICAgICAhRmlsZS5mbm1hdGNoKHF1ZXJ5LCBm aWxlbmFtZSwgRmlsZTo6Rk5NX0VYVEdMT0IpCiAgICAgICAgZW5kCiAgICAgIGVuZApgYGAKaHR0 cHM6Ly9naXRodWIuY29tL3JhaWxzL3JhaWxzL2Jsb2IvNmYxYzE4MzA4ZWJmZmM5N2Q1MTQ0MGNk ZWVkN2JlNzFkZTU4ZjI2YS9hY3Rpb252aWV3L2xpYi9hY3Rpb25fdmlldy90ZW1wbGF0ZS9yZXNv bHZlci5yYiNMMjQ3CgpGb3IgZXhhbXBsZSBvbiBhY2Nlc3NpbmcgaW5kZXggcGFnZSBvZiBQb3N0 IE1vZGVsICgvcG9zdHMpLCBpdCBjYWxscyBmb2xsb3dpbmcgZ2xvYjoKRGlyWyIvaG9tZS9uYXJ1 c2UvZm9vL2FwcC92aWV3cy9wb3N0cy9pbmRleHsuZW4sfXsuaHRtbCwudGV4dCwuanMsLmNzcywu aWNzLC5jc3YsLnZjZiwucG5nLC5qcGVnLC5naWYsLmJtcCwudGlmZiwuc3ZnLC5tcGVnLC54bWws LnJzcywuYXRvbSwueWFtbCwubXVsdGlwYXJ0X2Zvcm0sLnVybF9lbmNvZGVkX2Zvcm0sLmpzb24s LnBkZiwuemlwLC5nemlwLH17fXsucmF3LC5lcmIsLmh0bWwsLmJ1aWxkZXIsLnJ1YnksLmNvZmZl ZSwuamJ1aWxkZXIsfSJdJwoKSXQgY2FsbHMgbWFueSBzdGF0IGFzIGZvbGxvd3M6CmBgYAolIHN1 ZG8gc3RyYWNlIC4vbWluaXJ1Ynk1ODg4MiAtZSdEaXJbIi9ob21lL25hcnVzZS9mb28vYXBwL3Zp ZXdzL3Bvc3RzL2luZGV4ey5lbix9ey5odG1sLC50ZXh0LC5qcywuY3NzLC5pY3MsLmNzdiwudmNm LC5wbmcsLmpwZWcsLmdpZiwuYm1wLC50aWZmLC5zdmcsLm1wZWcsLnhtbCwucnNzLC5hdG9tLC55 YW1sLC5tdWx0aXBhcnRfZm9ybSwudXJsX2VuY29kZWRfZm9ybSwuanNvbiwucGRmLC56aXAsLmd6 aXAsfXt9ey5yYXcsLmVyYiwuaHRtbCwuYnVpbGRlciwucnVieSwuY29mZmVlLC5qYnVpbGRlcix9 Il0nfCZncmVwIG5ld2ZzdGF0YXR8d2MgLWwKNDAwCmBgYAoKQmVjYXVzZSBjdXJyZW50IGdsb2Ig aW1wbGVtZW50YXRpb24gaGFuZGxlcyBicmFjZXMgaW4gZWFybHkgc3RhZ2UsCnRoZW4gY2FsbHMg c3RhdCBmb3IgZWFjaCBjb21iaW5hdGlvbiBvZiBicmFjZSBwYXR0ZXJucyBpbnN0ZWFkIG9mIHVz aW5nIHJlYWRkaXIgcmVzdWx0cy4KCkJlbG93IGlzIGEgcGF0Y2ggdG8gdXNlIHJlYWRkaXIgaW5z dGVhZCBvZiBodW5kcmVkcyBvZiBzeXNjYWxscy4KTm90ZSB0aGF0IHRoaXMgcGF0Y2ggY2hhbmdl cyB0aGUgb3JkZXIgb2YgdGhlIHJlc3VsdCBhcyBmb2xsb3dzOgoKYGBgCiAgMSkgRmFpbHVyZToK VGVzdERpciN0ZXN0X2dsb2IgWy9ob21lL25hcnVzZS9ydWJ5L3Rlc3QvcnVieS90ZXN0X2Rpci5y YjoxNTddOgo8WyIvdG1wL3Rlc3QtYWxsL19fdGVzdF9kaXJfXzIwMTcwOTA2LTg2MjAta2E4eXF1 L319e30iLAogIi90bXAvdGVzdC1hbGwvX190ZXN0X2Rpcl9fMjAxNzA5MDYtODYyMC1rYTh5cXUv fX1hIl0+IGV4cGVjdGVkIGJ1dCB3YXMKPFsiL3RtcC90ZXN0LWFsbC9fX3Rlc3RfZGlyX18yMDE3 MDkwNi04NjIwLWthOHlxdS99fWEiLAogIi90bXAvdGVzdC1hbGwvX190ZXN0X2Rpcl9fMjAxNzA5 MDYtODYyMC1rYTh5cXUvfX17fSJdPi4KYGBgCgpgYGAKZGlmZiAtLWdpdCBhL2Rpci5jIGIvZGly LmMKaW5kZXggYjdhZmFlYzRlMC4uN2NhODRmYThjNSAxMDA2NDQKLS0tIGEvZGlyLmMKKysrIGIv ZGlyLmMKQEAgLTI5MCw2ICsyOTAsOCBAQCBicmFja2V0KAogI2RlZmluZSBVTkVTQ0FQRShwKSAo ZXNjYXBlICYmICoocCkgPT0gJ1xcJyA/IChwKSArIDEgOiAocCkpCiAjZGVmaW5lIElTRU5EKHAp ICghKihwKSB8fCAocGF0aG5hbWUgJiYgKihwKSA9PSAnLycpKQogI2RlZmluZSBSRVRVUk4odmFs KSByZXR1cm4gKnBjdXIgPSBwLCAqc2N1ciA9IHMsICh2YWwpOworI2RlZmluZSBGTk1BVENIX0FM TE9DX04odHlwZSwgbikgKCh0eXBlICopbWFsbG9jKHNpemVvZih0eXBlKSAqIChuKSkpCisjZGVm aW5lIEZOTUFUQ0hfRlJFRShwdHIpIGZyZWUocHRyKQogCiBzdGF0aWMgaW50CiBmbm1hdGNoX2hl bHBlcigKQEAgLTM0OCw2ICszNTAsNTYgQEAgZm5tYXRjaF9oZWxwZXIoCiAJICAgIH0KIAkgICAg Z290byBmYWlsZWQ7CiAJICB9CisKKwkgIGNhc2UgJ3snOiB7CisJICAgIHNpemVfdCBsZW4gPSBw ZW5kIC0gcDsKKwkgICAgY2hhciAqYnVmID0gRk5NQVRDSF9BTExPQ19OKGNoYXIsIGxlbik7CisJ ICAgIGNvbnN0IGNoYXIgKnJicmFjZSA9IE5VTEw7CisJICAgIHdoaWxlIChwIDwgcGVuZCkgewor CQljb25zdCBjaGFyICp0ID0gKytwOworCQlpbnQgbmVzdCA9IDA7CisJCXdoaWxlIChwIDwgcGVu ZCAmJiAhKCpwID09ICcsJyAmJiBuZXN0ID09IDApKSB7CisJCSAgICBpZiAoKnAgPT0gJ3snKSBu ZXN0Kys7CisJCSAgICBpZiAoKnAgPT0gJ30nKSB7CisJCQlpZiAobmVzdCA9PSAwKSB7CisJCQkg ICAgaWYgKCFyYnJhY2UpIHJicmFjZSA9IHA7CisJCQkgICAgZ290byByZXN0OworCQkJfQorCQkJ bmVzdC0tOworCQkgICAgfQorCQkgICAgaWYgKCpwID09ICdcXCcgJiYgZXNjYXBlKSB7CisJCQlp ZiAoKytwID49IHBlbmQpIGJyZWFrOworCQkgICAgfQorCQkgICAgSW5jKHAsIHBlbmQsIGVuYyk7 CisJCX0KKwkJaWYgKCFyYnJhY2UpIHsKKwkJICAgIHJicmFjZSA9IHA7CisJCSAgICB3aGlsZSAo cmJyYWNlIDwgcGVuZCAmJiAhKCpyYnJhY2UgPT0gJ30nICYmIG5lc3QgPT0gMCkpIHsKKwkJCWlm ICgqcmJyYWNlID09ICd7JykgbmVzdCsrOworCQkJaWYgKCpyYnJhY2UgPT0gJ30nKSBuZXN0LS07 CisJCQlpZiAoKnJicmFjZSA9PSAnXFwnICYmIGVzY2FwZSkgeworCQkJICAgIGlmICgrK3AgPj0g cGVuZCkgYnJlYWs7CisJCQl9CisJCQlJbmMocmJyYWNlLCBwZW5kLCBlbmMpOworCQkgICAgfQor CQl9CityZXN0OgorCQltZW1jcHkoYnVmLCB0LCBwLXQpOworCQlidWZbcC10XT0wOworCQlzdHJs Y3B5KGJ1ZisocC10KSwgcmJyYWNlKzEsIGxlbi0ocC10KSk7CisJCXsKKwkJICAgIGNvbnN0IGNo YXIgKnBwID0gYnVmLCAqc3MgPSBzOworCQkgICAgciA9IGZubWF0Y2hfaGVscGVyKChjb25zdCBj aGFyICoqKSZwcCwgJnNzLCBmbGFnc3xGTk1fRE9UTUFUQ0gsIGVuYyk7CisJCX0KKwkJaWYgKHIg PT0gMCkgeworCQkgICAgcCA9IGJ1ZjsKKwkJICAgIEZOTUFUQ0hfRlJFRShidWYpOworCQkgICAg UkVUVVJOKDApOworCQl9CisJCWlmIChwID49IHJicmFjZSkgYnJlYWs7CisJICAgIH0KKwkgICAg Rk5NQVRDSF9GUkVFKGJ1Zik7CisJICB9CiAJfQogCiAJLyogb3JkaW5hcnkgKi8KQEAgLTE0MjYs NiArMTQ3OCwxMiBAQCBoYXNfbWFnaWMoY29uc3QgY2hhciAqcCwgY29uc3QgY2hhciAqcGVuZCwg aW50IGZsYWdzLCByYl9lbmNvZGluZyAqZW5jKQogCSAgY2FzZSAnWyc6CiAJICAgIHJldHVybiBN QUdJQ0FMOwogCisJICBjYXNlICd7JzoKKwkgICAgaWYgKGZsYWdzICYgRk5NX0VYVEdMT0IpIHsK KwkgICAgICByZXR1cm4gTUFHSUNBTDsKKwkgICAgfQorCSAgICBicmVhazsKKwogCSAgY2FzZSAn XFwnOgogCSAgICBpZiAoZXNjYXBlICYmIHArKyA+PSBwZW5kKQogCQljb250aW51ZTsKQEAgLTIy NzIsNiArMjMzMCwxMyBAQCBwdXNoX3BhdHRlcm4oY29uc3QgY2hhciAqcGF0aCwgVkFMVUUgYXJ5 LCB2b2lkICplbmMpCiAgICAgcmJfYXJ5X3B1c2goYXJ5LCBuYW1lKTsKIH0KIAorc3RydWN0IHB1 c2hfZ2xvYl9hcmdzIHsKKyAgICBzdHJ1Y3QgZ2xvYl9hcmdzIGdsb2I7CisgICAgaW50IGZsYWdz OworICAgIGludCBmZDsKK307CitzdGF0aWMgaW50IHB1c2hfY2FsbGVyKGNvbnN0IGNoYXIgKnBh dGgsIFZBTFVFIHZhbCwgdm9pZCAqZW5jKTsKKwogc3RhdGljIGludAogcnVieV9icmFjZV9leHBh bmQoY29uc3QgY2hhciAqc3RyLCBpbnQgZmxhZ3MsIHJ1YnlfZ2xvYl9mdW5jICpmdW5jLCBWQUxV RSBhcmcsCiAJCSAgcmJfZW5jb2RpbmcgKmVuYywgVkFMVUUgdmFyKQpAQCAtMjI4MCw3ICsyMzQ1 LDcgQEAgcnVieV9icmFjZV9leHBhbmQoY29uc3QgY2hhciAqc3RyLCBpbnQgZmxhZ3MsIHJ1Ynlf Z2xvYl9mdW5jICpmdW5jLCBWQUxVRSBhcmcsCiAgICAgY29uc3QgY2hhciAqcCA9IHN0cjsKICAg ICBjb25zdCBjaGFyICpwZW5kID0gcCArIHN0cmxlbihwKTsKICAgICBjb25zdCBjaGFyICpzID0g cDsKLSAgICBjb25zdCBjaGFyICpsYnJhY2UgPSAwLCAqcmJyYWNlID0gMDsKKyAgICBjb25zdCBj aGFyICpsYnJhY2UgPSBOVUxMLCAqcmJyYWNlID0gTlVMTDsKICAgICBpbnQgbmVzdCA9IDAsIHN0 YXR1cyA9IDA7CiAKICAgICB3aGlsZSAoKnApIHsKQEAgLTIyOTksOSArMjM2NCwxOCBAQCBydWJ5 X2JyYWNlX2V4cGFuZChjb25zdCBjaGFyICpzdHIsIGludCBmbGFncywgcnVieV9nbG9iX2Z1bmMg KmZ1bmMsIFZBTFVFIGFyZywKIAogICAgIGlmIChsYnJhY2UgJiYgcmJyYWNlKSB7CiAJc2l6ZV90 IGxlbiA9IHN0cmxlbihzKSArIDE7Ci0JY2hhciAqYnVmID0gR0xPQl9BTExPQ19OKGNoYXIsIGxl bik7CisJY2hhciAqYnVmOwogCWxvbmcgc2hpZnQ7CiAKKwlpZiAoZnVuYyA9PSBwdXNoX2NhbGxl ciAmJiAhc3RyY2hyKGxicmFjZSwgJy8nKSkgeworCSAgICAvKiBOb3cgaXQgcmVhY2hlcyBmaWxl IGJhc2VuYW1lIGVudHJ5LiAqLworCSAgICAvKiBIYW5kbGUgYnJhY2VzIGluIGdsb2JfaGVscGVy ICovCisJICAgIHN0cnVjdCBwdXNoX2dsb2JfYXJncyAqYSA9IChzdHJ1Y3QgcHVzaF9nbG9iX2Fy Z3MgKilhcmc7CisJICAgIGEtPmZsYWdzIHw9IEZOTV9FWFRHTE9COworCSAgICByZXR1cm4gZ2xv Yl9jYWxsX2Z1bmMoZnVuYywgcywgYXJnLCBlbmMpOworCX0KKworCWJ1ZiA9IEdMT0JfQUxMT0Nf TihjaGFyLCBsZW4pOwogCWlmICghYnVmKSByZXR1cm4gLTE7CiAJbWVtY3B5KGJ1ZiwgcywgbGJy YWNlLXMpOwogCXNoaWZ0ID0gKGxicmFjZS1zKTsKQEAgLTIzNjUsMTIgKzI0MzksNiBAQCBydWJ5 X2JyYWNlX2dsb2IoY29uc3QgY2hhciAqc3RyLCBpbnQgZmxhZ3MsIHJ1YnlfZ2xvYl9mdW5jICpm dW5jLCBWQUxVRSBhcmcpCiAgICAgcmV0dXJuIHJ1YnlfYnJhY2VfZ2xvYl93aXRoX2VuYyhzdHIs IGZsYWdzLCBmdW5jLCBhcmcsIHJiX2FzY2lpOGJpdF9lbmNvZGluZygpKTsKIH0KIAotc3RydWN0 IHB1c2hfZ2xvYl9hcmdzIHsKLSAgICBzdHJ1Y3QgZ2xvYl9hcmdzIGdsb2I7Ci0gICAgaW50IGZs YWdzOwotICAgIGludCBmZDsKLX07Ci0KIHN0YXRpYyBpbnQKIHB1c2hfY2FsbGVyKGNvbnN0IGNo YXIgKnBhdGgsIFZBTFVFIHZhbCwgdm9pZCAqZW5jKQogewpgYGAKCgoKLS0gCmh0dHBzOi8vYnVn cy5ydWJ5LWxhbmcub3JnLwoKVW5zdWJzY3JpYmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVlc3RA cnVieS1sYW5nLm9yZz9zdWJqZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1YnktbGFu Zy5vcmcvY2dpLWJpbi9tYWlsbWFuL29wdGlvbnMvcnVieS1jb3JlPgo=