From: marko.makela Date: October 19 2010 9:13am Subject: bzr commit into mysql-trunk-innodb branch (marko.makela:3252) List-Archive: http://lists.mysql.com/commits/121078 Message-Id: <201010190913.o9J93oY2013218@rcsinet13.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0660481298==" --===============0660481298== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline I0F0IGZpbGU6Ly8vaG9tZS9tYXJrby9pbm5vYmFzZS9kZXYvbXlzcWwyYS81LjYtaW5ub2RiLyBi YXNlZCBvbiByZXZpZDp2YXNpbC5kaW1vdkBvcmFjbGUuY29tLTIwMTAxMDE5MDgzNjE4LXpzYXNh ZG56Y2g0b3U0dmwKCiAzMjUyIE1hcmtvIE3DpGtlbMOkCTIwMTAtMTAtMTkgW21lcmdlXQogICAg ICBNZXJnZSBmcm9tIG15c3FsLTUuNS1pbm5vZGIKCiAgICBtb2RpZmllZDoKICAgICAgc3RvcmFn ZS9pbm5vYmFzZS9pbmNsdWRlL29zMHN5bmMuaAogICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1 ZGUvc3J2MHNydi5oCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvbG9nL2xvZzBsb2cuYwogICAgICBz dG9yYWdlL2lubm9iYXNlL29zL29zMHN5bmMuYwogICAgICBzdG9yYWdlL2lubm9iYXNlL3Nydi9z cnYwc3J2LmMKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9vczBz eW5jLmgnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9vczBzeW5jLmgJcmV2aWQ6dmFz aWwuZGltb3ZAb3JhY2xlLmNvbS0yMDEwMTAxOTA4MzYxOC16c2FzYWRuemNoNG91NHZsCisrKyBi L3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9vczBzeW5jLmgJcmV2aWQ6bWFya28ubWFrZWxhQG9y YWNsZS5jb20tMjAxMDEwMTkwOTEyNDItaGFpczk0NmsyeTU4dmgwaApAQCAtNzYsNiArNzYsMTIg QEAgc3RydWN0IG9zX2V2ZW50X3N0cnVjdCB7CiAJCQkJCS8qITwgbGlzdCBvZiBhbGwgY3JlYXRl ZCBldmVudHMgKi8KIH07CiAKKy8qKiBEZW5vdGVzIGFuIGluZmluaXRlIGRlbGF5IGZvciBvc19l dmVudF93YWl0X3RpbWUoKSAqLworI2RlZmluZSBPU19TWU5DX0lORklOSVRFX1RJTUUgICBVTElO VF9VTkRFRklORUQKKworLyoqIFJldHVybiB2YWx1ZSBvZiBvc19ldmVudF93YWl0X3RpbWUoKSB3 aGVuIHRoZSB0aW1lIGlzIGV4Y2VlZGVkICovCisjZGVmaW5lIE9TX1NZTkNfVElNRV9FWENFRURF RCAgIDEKKwogLyoqIE9wZXJhdGluZyBzeXN0ZW0gbXV0ZXggKi8KIHR5cGVkZWYgc3RydWN0IG9z X211dGV4X3N0cnVjdAlvc19tdXRleF9zdHJfdDsKIC8qKiBPcGVyYXRpbmcgc3lzdGVtIG11dGV4 IGhhbmRsZSAqLwpAQCAtMTczLDcgKzE3OSwyMyBAQCBvc19ldmVudF93YWl0X2xvdygKIAkJCQkJ b3NfZXZlbnRfcmVzZXQoKS4gKi8KIAogI2RlZmluZSBvc19ldmVudF93YWl0KGV2ZW50KSBvc19l dmVudF93YWl0X2xvdyhldmVudCwgMCkKKyNkZWZpbmUgb3NfZXZlbnRfd2FpdF90aW1lKGUsIHQp IG9zX2V2ZW50X3dhaXRfdGltZV9sb3coZXZlbnQsIHQsIDApCiAKKy8qKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgorV2FpdHMgZm9y IGFuIGV2ZW50IG9iamVjdCB1bnRpbCBpdCBpcyBpbiB0aGUgc2lnbmFsZWQgc3RhdGUgb3IKK2Eg dGltZW91dCBpcyBleGNlZWRlZC4gSW4gVW5peCB0aGUgdGltZW91dCBpcyBhbHdheXMgaW5maW5p dGUuCitAcmV0dXJuCTAgaWYgc3VjY2VzcywgT1NfU1lOQ19USU1FX0VYQ0VFREVEIGlmIHRpbWVv dXQgd2FzIGV4Y2VlZGVkICovCitVTklWX0lOVEVSTgordWxpbnQKK29zX2V2ZW50X3dhaXRfdGlt ZV9sb3coCisvKj09PT09PT09PT09PT09PT09PT0qLworCW9zX2V2ZW50X3QJZXZlbnQsCQkJLyoh PCBpbjogZXZlbnQgdG8gd2FpdCAqLworCXVsaW50CQl0aW1lX2luX3VzZWMsCQkvKiE8IGluOiB0 aW1lb3V0IGluCisJCQkJCQltaWNyb3NlY29uZHMsIG9yCisJCQkJCQlPU19TWU5DX0lORklOSVRF X1RJTUUgKi8KKwlpYl9pbnQ2NF90CXJlc2V0X3NpZ19jb3VudCk7CS8qITwgaW46IHplcm8gb3Ig dGhlIHZhbHVlCisJCQkJCQlyZXR1cm5lZCBieSBwcmV2aW91cyBjYWxsIG9mCisJCQkJCQlvc19l dmVudF9yZXNldCgpLiAqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKi8vKioKIENyZWF0ZXMgYW4gb3BlcmF0aW5nIHN5c3RlbSBtdXRl eCBzZW1hcGhvcmUuIEJlY2F1c2UgdGhlc2UgYXJlIHNsb3csIHRoZQogbXV0ZXggc2VtYXBob3Jl IG9mIElubm9EQiBpdHNlbGYgKG11dGV4X3QpIHNob3VsZCBiZSB1c2VkIHdoZXJlIHBvc3NpYmxl LgoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9zcnYwc3J2Lmgn Ci0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9zcnYwc3J2LmgJcmV2aWQ6dmFzaWwuZGlt b3ZAb3JhY2xlLmNvbS0yMDEwMTAxOTA4MzYxOC16c2FzYWRuemNoNG91NHZsCisrKyBiL3N0b3Jh Z2UvaW5ub2Jhc2UvaW5jbHVkZS9zcnYwc3J2LmgJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5j b20tMjAxMDEwMTkwOTEyNDItaGFpczk0NmsyeTU4dmgwaApAQCAtNTcsNiArNTcsMTUgQEAgZXh0 ZXJuIGNvbnN0IGNoYXIJc3J2X215c3FsNTBfdGFibGVfbmFtZQogdGhyZWFkIHN0YXJ0cyBydW5u aW5nICovCiBleHRlcm4gb3NfZXZlbnRfdAlzcnZfbG9ja190aW1lb3V0X3RocmVhZF9ldmVudDsK IAorLyogVGhlIG1vbml0b3IgdGhyZWFkIHdhaXRzIG9uIHRoaXMgZXZlbnQuICovCitleHRlcm4g b3NfZXZlbnRfdAlzcnZfbW9uaXRvcl9ldmVudDsKKworLyogVGhlIGxvY2sgdGltZW91dCB0aHJl YWQgd2FpdHMgb24gdGhpcyBldmVudC4gKi8KK2V4dGVybiBvc19ldmVudF90CXNydl90aW1lb3V0 X2V2ZW50OworCisvKiBUaGUgZXJyb3IgbW9uaXRvciB0aHJlYWQgd2FpdHMgb24gdGhpcyBldmVu dC4gKi8KK2V4dGVybiBvc19ldmVudF90CXNydl9lcnJvcl9ldmVudDsKKwogLyogSWYgdGhlIGxh c3QgZGF0YSBmaWxlIGlzIGF1dG8tZXh0ZW5kZWQsIHdlIGFkZCB0aGlzIG1hbnkgcGFnZXMgdG8g aXQKIGF0IGEgdGltZSAqLwogI2RlZmluZSBTUlZfQVVUT19FWFRFTkRfSU5DUkVNRU5UCVwKCj09 PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL2xvZy9sb2cwbG9nLmMnCi0tLSBhL3N0 b3JhZ2UvaW5ub2Jhc2UvbG9nL2xvZzBsb2cuYwlyZXZpZDp2YXNpbC5kaW1vdkBvcmFjbGUuY29t LTIwMTAxMDE5MDgzNjE4LXpzYXNhZG56Y2g0b3U0dmwKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9s b2cvbG9nMGxvZy5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTAxMDE5MDkxMjQy LWhhaXM5NDZrMnk1OHZoMGgKQEAgLTMxMzcsMTQgKzMxMzcsMTcgQEAgbG9vcDoKIAlwcm9jZWVk IHdpdGhvdXQgd2FpdGluZyBmb3IgbW9uaXRvciB0aHJlYWRzLiAqLwogCiAJaWYgKHNydl9mYXN0 X3NodXRkb3duIDwgMgotCSAgICYmIChzcnZfZXJyb3JfbW9uaXRvcl9hY3RpdmUKLQkgICAgICB8 fCBzcnZfbG9ja190aW1lb3V0X2FjdGl2ZSB8fCBzcnZfbW9uaXRvcl9hY3RpdmUpKSB7Ci0JCWNv bnN0IGNoYXIqCXRocmVhZF9hY3RpdmUgPSBOVUxMOworCSAgICAmJiAoc3J2X2Vycm9yX21vbml0 b3JfYWN0aXZlCisJCXx8IHNydl9sb2NrX3RpbWVvdXRfYWN0aXZlCisJCXx8IHNydl9tb25pdG9y X2FjdGl2ZSkpIHsKKworCQltdXRleF9leGl0KCZrZXJuZWxfbXV0ZXgpOwogCiAJCS8qIFByaW50 IGEgbWVzc2FnZSBldmVyeSA2MCBzZWNvbmRzIGlmIHdlIGFyZSB3YWl0aW5nCiAJCWZvciB0aGUg bW9uaXRvciB0aHJlYWQgdG8gZXhpdC4gTWFzdGVyIGFuZCB3b3JrZXIgdGhyZWFkcwogCQljaGVj ayB3aWxsIGJlIGRvbmUgbGF0ZXIuICovCiAJCWlmIChzcnZfcHJpbnRfdmVyYm9zZV9sb2cgJiYg Y291bnQgPiA2MDApIHsKKwkJCWNvbnN0IGNoYXIqCXRocmVhZF9hY3RpdmUgPSBOVUxMOwogCiAJ CQlpZiAoc3J2X2Vycm9yX21vbml0b3JfYWN0aXZlKSB7CiAJCQkJdGhyZWFkX2FjdGl2ZSA9ICJz cnZfZXJyb3JfbW9uaXRvcl90aHJlYWQiOwpAQCAtMzE1MywxNyArMzE1NiwxOSBAQCBsb29wOgog CQkJfSBlbHNlIGlmIChzcnZfbW9uaXRvcl9hY3RpdmUpIHsKIAkJCQl0aHJlYWRfYWN0aXZlID0g InNydl9tb25pdG9yX3RocmVhZCI7CiAJCQl9Ci0JCX0KIAotCQltdXRleF9leGl0KCZrZXJuZWxf bXV0ZXgpOwotCi0JCWlmICh0aHJlYWRfYWN0aXZlKSB7Ci0JCQl1dF9wcmludF90aW1lc3RhbXAo c3RkZXJyKTsKLQkJCWZwcmludGYoc3RkZXJyLCAiICBJbm5vREI6IFdhaXRpbmcgZm9yICVzICIK LQkJCQkidG8gZXhpdFxuIiwgdGhyZWFkX2FjdGl2ZSk7Ci0JCQljb3VudCA9IDA7CisJCQlpZiAo dGhyZWFkX2FjdGl2ZSkgeworCQkJCXV0X3ByaW50X3RpbWVzdGFtcChzdGRlcnIpOworCQkJCWZw cmludGYoc3RkZXJyLCAiICBJbm5vREI6IFdhaXRpbmcgZm9yICVzICIKKwkJCQkJInRvIGV4aXRc biIsIHRocmVhZF9hY3RpdmUpOworCQkJCWNvdW50ID0gMDsKKwkJCX0KIAkJfQogCisJCW9zX2V2 ZW50X3NldChzcnZfZXJyb3JfZXZlbnQpOworCQlvc19ldmVudF9zZXQoc3J2X21vbml0b3JfZXZl bnQpOworCQlvc19ldmVudF9zZXQoc3J2X3RpbWVvdXRfZXZlbnQpOworCiAJCWdvdG8gbG9vcDsK IAl9CiAKQEAgLTMxOTksNiArMzIwNCw4IEBAIGxvb3A6CiAKIAkJbG9nX2J1ZmZlcl9mbHVzaF90 b19kaXNrKCk7CiAKKwkJbXV0ZXhfZXhpdCgma2VybmVsX211dGV4KTsKKwogCQlyZXR1cm47IC8q IFdlIFNLSVAgQUxMIFRIRSBSRVNUICEhICovCiAJfQogCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3Rv cmFnZS9pbm5vYmFzZS9vcy9vczBzeW5jLmMnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2Uvb3Mvb3Mw c3luYy5jCXJldmlkOnZhc2lsLmRpbW92QG9yYWNsZS5jb20tMjAxMDEwMTkwODM2MTgtenNhc2Fk bnpjaDRvdTR2bAorKysgYi9zdG9yYWdlL2lubm9iYXNlL29zL29zMHN5bmMuYwlyZXZpZDptYXJr by5tYWtlbGFAb3JhY2xlLmNvbS0yMDEwMTAxOTA5MTI0Mi1oYWlzOTQ2azJ5NTh2aDBoCkBAIC03 Miw2ICs3Miw5IEBAIFVOSVZfSU5URVJOIHVsaW50CW9zX2V2ZW50X2NvdW50CQk9IDA7CiBVTklW X0lOVEVSTiB1bGludAlvc19tdXRleF9jb3VudAkJPSAwOwogVU5JVl9JTlRFUk4gdWxpbnQJb3Nf ZmFzdF9tdXRleF9jb3VudAk9IDA7CiAKKy8qIFRoZSBudW1iZXIgb2YgbWljcm9zZWNuZHMgaW4g YSBzZWNvbmQuICovCitzdGF0aWMgY29uc3QgdWxpbnQgTUlDUk9TRUNTX0lOX0FfU0VDT05EID0g MTAwMDAwMDsKKwogLyogQmVjYXVzZSBhIG11dGV4IGlzIGVtYmVkZGVkIGluc2lkZSBhbiBldmVu dCBhbmQgdGhlcmUgaXMgYW4KIGV2ZW50IGVtYmVkZGVkIGluc2lkZSBhIG11dGV4LCBvbiBmcmVl LCB0aGlzIGdlbmVyYXRlcyBhIHJlY3Vyc2l2ZSBjYWxsLgogVGhpcyB2ZXJzaW9uIG9mIHRoZSBm cmVlIGV2ZW50IGZ1bmN0aW9uIGRvZXNuJ3QgYWNxdWlyZSB0aGUgZ2xvYmFsIGxvY2sgKi8KQEAg LTEyMiw2ICsxMjUsNDcgQEAgb3NfY29uZF9pbml0KAogfQogCiAvKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgorRG8gYSB0aW1lZCB3 YWl0IG9uIGNvbmRpdGlvbiB2YXJpYWJsZS4KK0ByZXR1cm4gVFJVRSBpZiB0aW1lZCBvdXQsIEZB TFNFIG90aGVyd2lzZSAqLworVU5JVl9JTkxJTkUKK2lib29sCitvc19jb25kX3dhaXRfdGltZWQo CisvKj09PT09PT09PT09PT09PSovCisJb3NfY29uZF90KgkJY29uZCwJCS8qITwgaW46IGNvbmRp dGlvbiB2YXJpYWJsZS4gKi8KKwlvc19mYXN0X211dGV4X3QqCW11dGV4LAkJLyohPCBpbjogZmFz dCBtdXRleCAqLworI2lmbmRlZiBfX1dJTl9fCisJY29uc3Qgc3RydWN0IHRpbWVzcGVjKglhYnN0 aW1lCQkvKiE8IGluOiB0aW1lb3V0ICovCisjZWxzZQorCXVsaW50CQkJdGltZV9pbl9tcwkvKiE8 IGluOiB0aW1lb3V0IGluCisJCQkJCQltaWxsaXNlY29uZHMgKi8KKyNlbmRpZiAvKiAhX19XSU5f XyAqLworKQoreworI2lmZGVmIF9fV0lOX18KKwlCT09MCQkJcmV0OworCisJdXRfYShzbGVlcF9j b25kaXRpb25fdmFyaWFibGUgIT0gTlVMTCk7CisKKwlyZXQgPSBzbGVlcF9jb25kaXRpb25fdmFy aWFibGUoY29uZCwgbXV0ZXgsIHRpbWVfaW5fbXMpOworCisJaWYgKCFyZXQgJiYgR2V0TGFzdEVy cm9yKCkgPT0gV0FJVF9USU1FT1VUKSB7CisJCXJldHVybihUUlVFKTsKKwl9CisKKwl1dF9hKHJl dCk7CisKKwlyZXR1cm4oRkFMU0UpOworI2Vsc2UKKwlpbnQJcmV0OworCisJcmV0ID0gcHRocmVh ZF9jb25kX3RpbWVkd2FpdChjb25kLCBtdXRleCwgYWJzdGltZSk7CisKKwl1dF9hKHJldCA9PSAw IHx8IHJldCA9PSBFVElNRURPVVQpOworCisJcmV0dXJuKHJldCA9PSBFVElNRURPVVQpOworI2Vu ZGlmCit9CisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqLy8qKgogV2FpdCBvbiBjb25kaXRpb24gdmFyaWFibGUgKi8KIFVOSVZfSU5MSU5F CiB2b2lkCkBAIC01NzIsNiArNjE2LDExMyBAQCBvc19ldmVudF93YWl0X2xvdygKIAl9CiB9CiAK Ky8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqLy8qKgorV2FpdHMgZm9yIGFuIGV2ZW50IG9iamVjdCB1bnRpbCBpdCBpcyBpbiB0aGUgc2ln bmFsZWQgc3RhdGUgb3IKK2EgdGltZW91dCBpcyBleGNlZWRlZC4KK0ByZXR1cm4JMCBpZiBzdWNj ZXNzLCBPU19TWU5DX1RJTUVfRVhDRUVERUQgaWYgdGltZW91dCB3YXMgZXhjZWVkZWQgKi8KK1VO SVZfSU5URVJOCit1bGludAorb3NfZXZlbnRfd2FpdF90aW1lX2xvdygKKy8qPT09PT09PT09PT09 PT09PT09PSovCisJb3NfZXZlbnRfdAlldmVudCwJCQkvKiE8IGluOiBldmVudCB0byB3YWl0ICov CisJdWxpbnQJCXRpbWVfaW5fdXNlYywJCS8qITwgaW46IHRpbWVvdXQgaW4KKwkJCQkJCW1pY3Jv c2Vjb25kcywgb3IKKwkJCQkJCU9TX1NZTkNfSU5GSU5JVEVfVElNRSAqLworCWliX2ludDY0X3QJ cmVzZXRfc2lnX2NvdW50KQkvKiE8IGluOiB6ZXJvIG9yIHRoZSB2YWx1ZQorCQkJCQkJcmV0dXJu ZWQgYnkgcHJldmlvdXMgY2FsbCBvZgorCQkJCQkJb3NfZXZlbnRfcmVzZXQoKS4gKi8KKworewor CWlib29sCQl0aW1lZF9vdXQ7CisJaWJfaW50NjRfdAlvbGRfc2lnbmFsX2NvdW50OworCisjaWZk ZWYgX19XSU5fXworCURXT1JECQl0aW1lX2luX21zID0gdGltZV9pbl91c2VjIC8gMTAwMDsKKwor CWlmICghc3J2X3VzZV9uYXRpdmVfY29uZGl0aW9ucykgeworCQlEV09SRAllcnI7CisKKwkJdXRf YShldmVudCk7CisKKwkJaWYgKHRpbWVfaW5fbXMgIT0gT1NfU1lOQ19JTkZJTklURV9USU1FKSB7 CisJCQllcnIgPSBXYWl0Rm9yU2luZ2xlT2JqZWN0KGV2ZW50LT5oYW5kbGUsIHRpbWVfaW5fbXMp OworCQl9IGVsc2UgeworCQkJZXJyID0gV2FpdEZvclNpbmdsZU9iamVjdChldmVudC0+aGFuZGxl LCBJTkZJTklURSk7CisJCX0KKworCQlpZiAoZXJyID09IFdBSVRfT0JKRUNUXzApIHsKKwkJCXJl dHVybigwKTsKKwkJfSBlbHNlIGlmIChlcnIgPT0gV0FJVF9USU1FT1VUKSB7CisJCQlyZXR1cm4o T1NfU1lOQ19USU1FX0VYQ0VFREVEKTsKKwkJfQorCisJCXV0X2Vycm9yOworCQkvKiBEdW1teSB2 YWx1ZSB0byBlbGltaW5hdGUgY29tcGlsZXIgd2FybmluZy4gKi8KKwkJcmV0dXJuKDQyKTsKKwl9 IGVsc2UgeworCQl1dF9hKHNsZWVwX2NvbmRpdGlvbl92YXJpYWJsZSAhPSBOVUxMKTsKKwl9Cisj ZWxzZQorCXN0cnVjdCB0aW1ldmFsCXR2OworCXVsaW50CQlzZWM7CisJdWxpbnQJCXVzZWM7CisJ aW50CQlyZXQ7CisJc3RydWN0IHRpbWVzcGVjCWFic3RpbWU7CisKKwlyZXQgPSB1dF91c2VjdGlt ZSgmc2VjLCAmdXNlYyk7CisJdXRfYShyZXQgPT0gMCk7CisKKwl0di50dl9zZWMgPSBzZWM7CisJ dHYudHZfdXNlYyA9IHVzZWM7CisKKwl0di50dl91c2VjICs9IHRpbWVfaW5fdXNlYzsKKworCWlm ICgodWxpbnQpIHR2LnR2X3VzZWMgPiBNSUNST1NFQ1NfSU5fQV9TRUNPTkQpIHsKKwkJdHYudHZf c2VjICs9IHRpbWVfaW5fdXNlYyAvIE1JQ1JPU0VDU19JTl9BX1NFQ09ORDsKKwkJdHYudHZfdXNl YyAlPSBNSUNST1NFQ1NfSU5fQV9TRUNPTkQ7CisJfQorCisJLyogQ29udmVydCB0byBuYW5vIHNl Y29uZHMuIFdlIGlnbm9yZSBvdmVyZmxvdy4gKi8KKwlhYnN0aW1lLnR2X3NlYyAgPSB0di50dl9z ZWM7CisJYWJzdGltZS50dl9uc2VjID0gdHYudHZfdXNlYyAqIDEwMDA7CisjZW5kaWYgLyogX19X SU5fXyAqLworCisJb3NfZmFzdF9tdXRleF9sb2NrKCZldmVudC0+b3NfbXV0ZXgpOworCisJaWYg KHJlc2V0X3NpZ19jb3VudCkgeworCQlvbGRfc2lnbmFsX2NvdW50ID0gcmVzZXRfc2lnX2NvdW50 OworCX0gZWxzZSB7CisJCW9sZF9zaWduYWxfY291bnQgPSBldmVudC0+c2lnbmFsX2NvdW50Owor CX0KKworCWRvIHsKKwkJaWYgKGV2ZW50LT5pc19zZXQgPT0gVFJVRQorCQkgICAgfHwgZXZlbnQt PnNpZ25hbF9jb3VudCAhPSBvbGRfc2lnbmFsX2NvdW50KSB7CisKKwkJCWJyZWFrOworCQl9CisK KwkJdGltZWRfb3V0ID0gb3NfY29uZF93YWl0X3RpbWVkKAorCQkJJmV2ZW50LT5jb25kX3Zhciwg JmV2ZW50LT5vc19tdXRleCwKKyNpZm5kZWYgX19XSU5fXworCQkJJmFic3RpbWUKKyNlbHNlCisJ CQl0aW1lX2luX21zCisjZW5kaWYgLyogIV9fV0lOX18gKi8KKwkJKTsKKworCX0gd2hpbGUgKCF0 aW1lZF9vdXQpOworCisJb3NfZmFzdF9tdXRleF91bmxvY2soJmV2ZW50LT5vc19tdXRleCk7CisK KwlpZiAoc3J2X3NodXRkb3duX3N0YXRlID09IFNSVl9TSFVURE9XTl9FWElUX1RIUkVBRFMpIHsK KworCQlvc190aHJlYWRfZXhpdChOVUxMKTsKKwl9CisKKwlyZXR1cm4odGltZWRfb3V0ID8gT1Nf U1lOQ19USU1FX0VYQ0VFREVEIDogMCk7Cit9CisKIC8qKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCiBDcmVhdGVzIGFuIG9wZXJhdGlu ZyBzeXN0ZW0gbXV0ZXggc2VtYXBob3JlLiBCZWNhdXNlIHRoZXNlIGFyZSBzbG93LCB0aGUKIG11 dGV4IHNlbWFwaG9yZSBvZiBJbm5vREIgaXRzZWxmIChtdXRleF90KSBzaG91bGQgYmUgdXNlZCB3 aGVyZSBwb3NzaWJsZS4KCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL3Nydi9z cnYwc3J2LmMnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2Uvc3J2L3NydjBzcnYuYwlyZXZpZDp2YXNp bC5kaW1vdkBvcmFjbGUuY29tLTIwMTAxMDE5MDgzNjE4LXpzYXNhZG56Y2g0b3U0dmwKKysrIGIv c3RvcmFnZS9pbm5vYmFzZS9zcnYvc3J2MHNydi5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUu Y29tLTIwMTAxMDE5MDkxMjQyLWhhaXM5NDZrMnk1OHZoMGgKQEAgLTY5OCw2ICs2OTgsMTIgQEAg c3RydWN0IHNydl9zbG90X3N0cnVjdHsKIC8qIFRhYmxlIGZvciBNeVNRTCB0aHJlYWRzIHdoZXJl IHRoZXkgd2lsbCBiZSBzdXNwZW5kZWQgdG8gd2FpdCBmb3IgbG9ja3MgKi8KIFVOSVZfSU5URVJO IHNydl9zbG90X3QqCXNydl9teXNxbF90YWJsZSA9IE5VTEw7CiAKK1VOSVZfSU5URVJOIG9zX2V2 ZW50X3QJc3J2X3RpbWVvdXRfZXZlbnQ7CisKK1VOSVZfSU5URVJOIG9zX2V2ZW50X3QJc3J2X21v bml0b3JfZXZlbnQ7CisKK1VOSVZfSU5URVJOIG9zX2V2ZW50X3QJc3J2X2Vycm9yX2V2ZW50Owor CiBVTklWX0lOVEVSTiBvc19ldmVudF90CXNydl9sb2NrX3RpbWVvdXRfdGhyZWFkX2V2ZW50Owog CiBVTklWX0lOVEVSTiBzcnZfc3lzX3QqCXNydl9zeXMJPSBOVUxMOwpAQCAtMTAxNSw2ICsxMDIx LDEyIEBAIHNydl9pbml0KHZvaWQpCiAJCXV0X2Eoc2xvdC0+ZXZlbnQpOwogCX0KIAorCXNydl9l cnJvcl9ldmVudCA9IG9zX2V2ZW50X2NyZWF0ZShOVUxMKTsKKworCXNydl90aW1lb3V0X2V2ZW50 ID0gb3NfZXZlbnRfY3JlYXRlKE5VTEwpOworCisJc3J2X21vbml0b3JfZXZlbnQgPSBvc19ldmVu dF9jcmVhdGUoTlVMTCk7CisKIAlzcnZfbG9ja190aW1lb3V0X3RocmVhZF9ldmVudCA9IG9zX2V2 ZW50X2NyZWF0ZShOVUxMKTsKIAogCWZvciAoaSA9IDA7IGkgPCBTUlZfTUFTVEVSICsgMTsgaSsr KSB7CkBAIC0yMDQxLDYgKzIwNTMsNyBAQCBzcnZfbW9uaXRvcl90aHJlYWQoCiAJCQkvKiE8IGlu OiBhIGR1bW15IHBhcmFtZXRlciByZXF1aXJlZCBieQogCQkJb3NfdGhyZWFkX2NyZWF0ZSAqLwog eworCWliX2ludDY0X3QJc2lnX2NvdW50OwogCWRvdWJsZQkJdGltZV9lbGFwc2VkOwogCXRpbWVf dAkJY3VycmVudF90aW1lOwogCXRpbWVfdAkJbGFzdF90YWJsZV9tb25pdG9yX3RpbWU7CkBAIC0y MDU5LDI2ICsyMDcyLDI4IEBAIHNydl9tb25pdG9yX3RocmVhZCgKICNlbmRpZgogCiAJVVRfTk9U X1VTRUQoYXJnKTsKLQlzcnZfbGFzdF9tb25pdG9yX3RpbWUgPSB0aW1lKE5VTEwpOwotCWxhc3Rf dGFibGVfbW9uaXRvcl90aW1lID0gdGltZShOVUxMKTsKLQlsYXN0X3RhYmxlc3BhY2VfbW9uaXRv cl90aW1lID0gdGltZShOVUxMKTsKLQlsYXN0X21vbml0b3JfdGltZSA9IHRpbWUoTlVMTCk7CisJ c3J2X2xhc3RfbW9uaXRvcl90aW1lID0gdXRfdGltZSgpOworCWxhc3RfdGFibGVfbW9uaXRvcl90 aW1lID0gdXRfdGltZSgpOworCWxhc3RfdGFibGVzcGFjZV9tb25pdG9yX3RpbWUgPSB1dF90aW1l KCk7CisJbGFzdF9tb25pdG9yX3RpbWUgPSB1dF90aW1lKCk7CiAJbXV0ZXhfc2tpcHBlZCA9IDA7 CiAJbGFzdF9zcnZfcHJpbnRfbW9uaXRvciA9IHNydl9wcmludF9pbm5vZGJfbW9uaXRvcjsKIGxv b3A6CiAJc3J2X21vbml0b3JfYWN0aXZlID0gVFJVRTsKIAogCS8qIFdha2UgdXAgZXZlcnkgNSBz ZWNvbmRzIHRvIHNlZSBpZiB3ZSBuZWVkIHRvIHByaW50Ci0JbW9uaXRvciBpbmZvcm1hdGlvbi4g Ki8KKwltb25pdG9yIGluZm9ybWF0aW9uIG9yIGlmIHNpZ25hbGxlZCBhdCBzaHV0ZG93bi4gKi8K IAotCW9zX3RocmVhZF9zbGVlcCg1MDAwMDAwKTsKKwlzaWdfY291bnQgPSBvc19ldmVudF9yZXNl dChzcnZfbW9uaXRvcl9ldmVudCk7CiAKLQljdXJyZW50X3RpbWUgPSB0aW1lKE5VTEwpOworCW9z X2V2ZW50X3dhaXRfdGltZV9sb3coc3J2X21vbml0b3JfZXZlbnQsIDUwMDAwMDAsIHNpZ19jb3Vu dCk7CisKKwljdXJyZW50X3RpbWUgPSB1dF90aW1lKCk7CiAKIAl0aW1lX2VsYXBzZWQgPSBkaWZm dGltZShjdXJyZW50X3RpbWUsIGxhc3RfbW9uaXRvcl90aW1lKTsKIAogCWlmICh0aW1lX2VsYXBz ZWQgPiAxNSkgewotCQlsYXN0X21vbml0b3JfdGltZSA9IHRpbWUoTlVMTCk7CisJCWxhc3RfbW9u aXRvcl90aW1lID0gdXRfdGltZSgpOwogCiAJCWlmIChzcnZfcHJpbnRfaW5ub2RiX21vbml0b3Ip IHsKIAkJCS8qIFJlc2V0IG11dGV4X3NraXBwZWQgY291bnRlciBldmVyeXRpbWUKQEAgLTIxMjIs NyArMjEzNyw3IEBAIGxvb3A6CiAJCWlmIChzcnZfcHJpbnRfaW5ub2RiX3RhYmxlc3BhY2VfbW9u aXRvcgogCQkgICAgJiYgZGlmZnRpbWUoY3VycmVudF90aW1lLAogCQkJCWxhc3RfdGFibGVzcGFj ZV9tb25pdG9yX3RpbWUpID4gNjApIHsKLQkJCWxhc3RfdGFibGVzcGFjZV9tb25pdG9yX3RpbWUg PSB0aW1lKE5VTEwpOworCQkJbGFzdF90YWJsZXNwYWNlX21vbml0b3JfdGltZSA9IHV0X3RpbWUo KTsKIAogCQkJZnB1dHMoIj09PT09PT09PT09PT09PT09PT09PT09PSIKIAkJCSAgICAgICI9PT09 PT09PT09PT09PT09PT09PT09PT1cbiIsCkBAIC0yMTQ4LDcgKzIxNjMsNyBAQCBsb29wOgogCQlp ZiAoc3J2X3ByaW50X2lubm9kYl90YWJsZV9tb25pdG9yCiAJCSAgICAmJiBkaWZmdGltZShjdXJy ZW50X3RpbWUsIGxhc3RfdGFibGVfbW9uaXRvcl90aW1lKSA+IDYwKSB7CiAKLQkJCWxhc3RfdGFi bGVfbW9uaXRvcl90aW1lID0gdGltZShOVUxMKTsKKwkJCWxhc3RfdGFibGVfbW9uaXRvcl90aW1l ID0gdXRfdGltZSgpOwogCiAJCQlmcHV0cygiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PVxuIiwKIAkJCSAgICAgIHN0ZGVycik7CkBAIC0yMjA4LDE2ICsyMjIzLDIw IEBAIHNydl9sb2NrX3RpbWVvdXRfdGhyZWFkKAogCWlib29sCQlzb21lX3dhaXRzOwogCWRvdWJs ZQkJd2FpdF90aW1lOwogCXVsaW50CQlpOworCWliX2ludDY0X3QJc2lnX2NvdW50OwogCiAjaWZk ZWYgVU5JVl9QRlNfVEhSRUFECiAJcGZzX3JlZ2lzdGVyX3RocmVhZChzcnZfbG9ja190aW1lb3V0 X3RocmVhZF9rZXkpOwogI2VuZGlmCiAKIGxvb3A6CisKIAkvKiBXaGVuIHNvbWVvbmUgaXMgd2Fp dGluZyBmb3IgYSBsb2NrLCB3ZSB3YWtlIHVwIGV2ZXJ5IHNlY29uZAogCWFuZCBjaGVjayBpZiBh IHRpbWVvdXQgaGFzIHBhc3NlZCBmb3IgYSBsb2NrIHdhaXQgKi8KIAotCW9zX3RocmVhZF9zbGVl cCgxMDAwMDAwKTsKKwlzaWdfY291bnQgPSBvc19ldmVudF9yZXNldChzcnZfdGltZW91dF9ldmVu dCk7CisKKwlvc19ldmVudF93YWl0X3RpbWVfbG93KHNydl90aW1lb3V0X2V2ZW50LCAxMDAwMDAw LCBzaWdfY291bnQpOwogCiAJc3J2X2xvY2tfdGltZW91dF9hY3RpdmUgPSBUUlVFOwogCkBAIC0y MzEzLDYgKzIzMzIsNyBAQCBzcnZfZXJyb3JfbW9uaXRvcl90aHJlYWQoCiAJdWxpbnQJCWZhdGFs X2NudAk9IDA7CiAJaWJfdWludDY0X3QJb2xkX2xzbjsKIAlpYl91aW50NjRfdAluZXdfbHNuOwor CWliX2ludDY0X3QJc2lnX2NvdW50OwogCiAJb2xkX2xzbiA9IHNydl9zdGFydF9sc247CiAKQEAg LTIzODgsNyArMjQwOCw5IEBAIGxvb3A6CiAKIAlmZmx1c2goc3RkZXJyKTsKIAotCW9zX3RocmVh ZF9zbGVlcCgxMDAwMDAwKTsKKwlzaWdfY291bnQgPSBvc19ldmVudF9yZXNldChzcnZfZXJyb3Jf ZXZlbnQpOworCisJb3NfZXZlbnRfd2FpdF90aW1lX2xvdyhzcnZfZXJyb3JfZXZlbnQsIDEwMDAw MDAsIHNpZ19jb3VudCk7CiAKIAlpZiAoc3J2X3NodXRkb3duX3N0YXRlIDwgU1JWX1NIVVRET1dO X0NMRUFOVVApIHsKIApAQCAtMjcwMSw2ICsyNzIzLDIxIEBAIGxvb3A6CiAJZm9yIChpID0gMDsg aSA8IDEwOyBpKyspIHsKIAkJdWxpbnQJY3VyX3RpbWUgPSB1dF90aW1lX21zKCk7CiAKKwkJLyog QUxURVIgVEFCTEUgaW4gTXlTUUwgcmVxdWlyZXMgb24gVW5peCB0aGF0IHRoZSB0YWJsZSBoYW5k bGVyCisJCWNhbiBkcm9wIHRhYmxlcyBsYXppbHkgYWZ0ZXIgdGhlcmUgbm8gbG9uZ2VyIGFyZSBT RUxFQ1QKKwkJcXVlcmllcyB0byB0aGVtLiAqLworCisJCXNydl9tYWluX3RocmVhZF9vcF9pbmZv ID0gImRvaW5nIGJhY2tncm91bmQgZHJvcCB0YWJsZXMiOworCisJCXJvd19kcm9wX3RhYmxlc19m b3JfbXlzcWxfaW5fYmFja2dyb3VuZCgpOworCisJCXNydl9tYWluX3RocmVhZF9vcF9pbmZvID0g IiI7CisKKwkJaWYgKHNydl9mYXN0X3NodXRkb3duICYmIHNydl9zaHV0ZG93bl9zdGF0ZSA+IDAp IHsKKworCQkJZ290byBiYWNrZ3JvdW5kX2xvb3A7CisJCX0KKwogCQlidWZfZ2V0X3RvdGFsX3N0 YXQoJmJ1Zl9zdGF0KTsKIAogCQluX2lvc19vbGQgPSBsb2dfc3lzLT5uX2xvZ19pb3MgKyBidWZf c3RhdC5uX3BhZ2VzX3JlYWQKQEAgLTI3MDksNyArMjc0Niw4IEBAIGxvb3A6CiAJCXNydl9tYWlu X3RocmVhZF9vcF9pbmZvID0gInNsZWVwaW5nIjsKIAkJc3J2X21haW5fMV9zZWNvbmRfbG9vcHMr KzsKIAotCQlpZiAobmV4dF9pdHJfdGltZSA+IGN1cl90aW1lKSB7CisJCWlmIChuZXh0X2l0cl90 aW1lID4gY3VyX3RpbWUKKwkJICAgICYmIHNydl9zaHV0ZG93bl9zdGF0ZSA9PSBTUlZfU0hVVERP V05fTk9ORSkgewogCiAJCQkvKiBHZXQgc2xlZXAgaW50ZXJ2YWwgaW4gbWljcm8gc2Vjb25kcy4g V2UgdXNlCiAJCQl1dF9taW4oKSB0byBhdm9pZCBsb25nIHNsZWVwIGluIGNhc2Ugb2YKQEAgLTI3 MjMsMjEgKzI3NjEsNiBAQCBsb29wOgogCQkvKiBFYWNoIGl0ZXJhdGlvbiBzaG91bGQgaGFwcGVu IGF0IDEgc2Vjb25kIGludGVydmFsLiAqLwogCQluZXh0X2l0cl90aW1lID0gdXRfdGltZV9tcygp ICsgMTAwMDsKIAotCQkvKiBBTFRFUiBUQUJMRSBpbiBNeVNRTCByZXF1aXJlcyBvbiBVbml4IHRo YXQgdGhlIHRhYmxlIGhhbmRsZXIKLQkJY2FuIGRyb3AgdGFibGVzIGxhemlseSBhZnRlciB0aGVy ZSBubyBsb25nZXIgYXJlIFNFTEVDVAotCQlxdWVyaWVzIHRvIHRoZW0uICovCi0KLQkJc3J2X21h aW5fdGhyZWFkX29wX2luZm8gPSAiZG9pbmcgYmFja2dyb3VuZCBkcm9wIHRhYmxlcyI7Ci0KLQkJ cm93X2Ryb3BfdGFibGVzX2Zvcl9teXNxbF9pbl9iYWNrZ3JvdW5kKCk7Ci0KLQkJc3J2X21haW5f dGhyZWFkX29wX2luZm8gPSAiIjsKLQotCQlpZiAoc3J2X2Zhc3Rfc2h1dGRvd24gJiYgc3J2X3No dXRkb3duX3N0YXRlID4gMCkgewotCi0JCQlnb3RvIGJhY2tncm91bmRfbG9vcDsKLQkJfQotCiAJ CS8qIEZsdXNoIGxvZ3MgaWYgbmVlZGVkICovCiAJCXNydl9zeW5jX2xvZ19idWZmZXJfaW5fYmFj a2dyb3VuZCgpOwogCkBAIC0yOTI5LDcgKzI5NTIsOSBAQCBiYWNrZ3JvdW5kX2xvb3A6CiAJCU15 U1FMIHRyaWVzIHRvIGRyb3AgYSB0YWJsZSB3aGlsZSB0aGVyZSBhcmUgc3RpbGwgb3BlbiBoYW5k bGVzCiAJCXRvIGl0IGFuZCB3ZSBoYWQgdG8gcHV0IGl0IHRvIHRoZSBiYWNrZ3JvdW5kIGRyb3Ag cXVldWUuKSAqLwogCi0JCW9zX3RocmVhZF9zbGVlcCgxMDAwMDApOworCQlpZiAoc3J2X3NodXRk b3duX3N0YXRlID09IFNSVl9TSFVURE9XTl9OT05FKSB7CisJCQlvc190aHJlYWRfc2xlZXAoMTAw MDAwKTsKKwkJfQogCX0KIAogCWlmIChzcnZfbl9wdXJnZV90aHJlYWRzID09IDApIHsKCg== --===============0660481298== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/marko.makela@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: marko.makela@stripped # target_branch: file:///home/marko/innobase/dev/mysql2a/5.6-innodb/ # testament_sha1: 77f8d1a063aa8dcc44a4cbf42be9509e6855bc8e # timestamp: 2010-10-19 12:13:44 +0300 # source_branch: file:///home/marko/innobase/dev/mysql2a/5.5-innodb/ # base_revision_id: vasil.dimov@stripped\ # zsasadnzch4ou4vl # # Begin bundle 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 --===============0660481298==--