From: Motohiro KOSAKI Date: 2011-02-15T20:25:32+09:00 Subject: [ruby-core:35249] [Ruby 1.9-Bug#4400] nested at_exit hooks run in strange order --mimepart_4d5a62a891d75_59839d355f076d1 Content-Type: text/plain Content-Transfer-Encoding: Quoted-printable Content-Disposition: inline Issue #4400 has been updated by Motohiro KOSAKI. File bug4400-atexit.patch added Assigned to set to Koichi Sasada Target version set to 1.9.x The attached patch is to adapt C's behavior. = And, Current behavior seems to be introduced by following commit. = Therefore we should hear ko1's opinion. I think. ko1, what do you think? -------------------------------------------------------------------------= ----------- commit a3e1b1ce7ed7e7ffac23015fc2fde56511b30681 Author: ko1 Date: Sun Dec 31 15:02:22 2006 +0000 * Merge YARV git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11439 b2dd03c8-39d4= -4d8f-98ff-823fe69b080e ---------------------------------------- http://redmine.ruby-lang.org/issues/show/4400 ---------------------------------------- http://redmine.ruby-lang.org --mimepart_4d5a62a891d75_59839d355f076d1 Content-Type: application/octet-stream; name=bug4400-atexit.patch Content-Transfer-Encoding: Base64 Content-Disposition: attachment; filename=bug4400-atexit.patch SW5kZXg6IGV2YWxfanVtcC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IGV2YWxfanVtcC5jCSjjg6rjg5Pjgrjjg6fjg7MgMzA4ODIpCisrKyBldmFs X2p1bXAuYwko5L2c5qWt44Kz44OU44O8KQpAQCAtNTQsNyArNTQsNyBAQAog ICAgIHN0cnVjdCBlbmRfcHJvY19kYXRhICpuZXh0OwogfTsKIAotc3RhdGlj IHN0cnVjdCBlbmRfcHJvY19kYXRhICplbmRfcHJvY3MsICplcGhlbWVyYWxf ZW5kX3Byb2NzLCAqdG1wX2VuZF9wcm9jczsKK3N0YXRpYyBzdHJ1Y3QgZW5k X3Byb2NfZGF0YSAqZW5kX3Byb2NzLCAqZXBoZW1lcmFsX2VuZF9wcm9jczsK IAogdm9pZAogcmJfc2V0X2VuZF9wcm9jKHZvaWQgKCpmdW5jKShWQUxVRSks IFZBTFVFIGRhdGEpCkBAIC05MSwxMSArOTEsNiBAQAogCXJiX2djX21hcmso bGluay0+ZGF0YSk7CiAJbGluayA9IGxpbmstPm5leHQ7CiAgICAgfQotICAg IGxpbmsgPSB0bXBfZW5kX3Byb2NzOwotICAgIHdoaWxlIChsaW5rKSB7Ci0J cmJfZ2NfbWFyayhsaW5rLT5kYXRhKTsKLQlsaW5rID0gbGluay0+bmV4dDsK LSAgICB9CiB9CiAKIHZvaWQKQEAgLTEwNyw0MCArMTAyLDM1IEBACiAgICAg dm9sYXRpbGUgaW50IHNhZmUgPSByYl9zYWZlX2xldmVsKCk7CiAKICAgICB3 aGlsZSAoZXBoZW1lcmFsX2VuZF9wcm9jcykgewotCXRtcF9lbmRfcHJvY3Mg PSBsaW5rID0gZXBoZW1lcmFsX2VuZF9wcm9jczsKLQllcGhlbWVyYWxfZW5k X3Byb2NzID0gMDsKLQl3aGlsZSAobGluaykgewotCSAgICBQVVNIX1RBRygp OwotCSAgICBpZiAoKHN0YXR1cyA9IEVYRUNfVEFHKCkpID09IDApIHsKLQkJ cmJfc2V0X3NhZmVfbGV2ZWxfZm9yY2UobGluay0+c2FmZSk7Ci0JCSgqbGlu ay0+ZnVuYykgKGxpbmstPmRhdGEpOwotCSAgICB9Ci0JICAgIFBPUF9UQUco KTsKLQkgICAgaWYgKHN0YXR1cykgewotCQllcnJvcl9oYW5kbGUoc3RhdHVz KTsKLQkgICAgfQotCSAgICB0bXAgPSBsaW5rOwotCSAgICB0bXBfZW5kX3By b2NzID0gbGluayA9IGxpbmstPm5leHQ7Ci0JICAgIHhmcmVlKHRtcCk7CisJ bGluayA9IGVwaGVtZXJhbF9lbmRfcHJvY3M7CisJZXBoZW1lcmFsX2VuZF9w cm9jcyA9IGxpbmstPm5leHQ7CisKKwlQVVNIX1RBRygpOworCWlmICgoc3Rh dHVzID0gRVhFQ19UQUcoKSkgPT0gMCkgeworCSAgICByYl9zZXRfc2FmZV9s ZXZlbF9mb3JjZShsaW5rLT5zYWZlKTsKKwkgICAgKCpsaW5rLT5mdW5jKSAo bGluay0+ZGF0YSk7CiAJfQorCVBPUF9UQUcoKTsKKwlpZiAoc3RhdHVzKSB7 CisJICAgIGVycm9yX2hhbmRsZShzdGF0dXMpOworCX0KKwl4ZnJlZShsaW5r KTsKICAgICB9CisKICAgICB3aGlsZSAoZW5kX3Byb2NzKSB7Ci0JdG1wX2Vu ZF9wcm9jcyA9IGxpbmsgPSBlbmRfcHJvY3M7Ci0JZW5kX3Byb2NzID0gMDsK LQl3aGlsZSAobGluaykgewotCSAgICBQVVNIX1RBRygpOwotCSAgICBpZiAo KHN0YXR1cyA9IEVYRUNfVEFHKCkpID09IDApIHsKLQkJcmJfc2V0X3NhZmVf bGV2ZWxfZm9yY2UobGluay0+c2FmZSk7Ci0JCSgqbGluay0+ZnVuYykgKGxp bmstPmRhdGEpOwotCSAgICB9Ci0JICAgIFBPUF9UQUcoKTsKLQkgICAgaWYg KHN0YXR1cykgewotCQllcnJvcl9oYW5kbGUoc3RhdHVzKTsKLQkgICAgfQot CSAgICB0bXAgPSBsaW5rOwotCSAgICB0bXBfZW5kX3Byb2NzID0gbGluayA9 IGxpbmstPm5leHQ7Ci0JICAgIHhmcmVlKHRtcCk7CisJbGluayA9IGVuZF9w cm9jczsKKwllbmRfcHJvY3MgPSBsaW5rLT5uZXh0OworCisJUFVTSF9UQUco KTsKKwlpZiAoKHN0YXR1cyA9IEVYRUNfVEFHKCkpID09IDApIHsKKwkgICAg cmJfc2V0X3NhZmVfbGV2ZWxfZm9yY2UobGluay0+c2FmZSk7CisJICAgICgq bGluay0+ZnVuYykgKGxpbmstPmRhdGEpOwogCX0KKwlQT1BfVEFHKCk7CisJ aWYgKHN0YXR1cykgeworCSAgICBlcnJvcl9oYW5kbGUoc3RhdHVzKTsKKwl9 CisJeGZyZWUobGluayk7CiAgICAgfQogICAgIHJiX3NldF9zYWZlX2xldmVs X2ZvcmNlKHNhZmUpOwogfQo= --mimepart_4d5a62a891d75_59839d355f076d1--