[PATCH] signalMainThread interceptor

"Felix Nawothnig" <[email protected]> Sun, 6 Sep 2009 04:55:16 +0200 (CEST)
Newsgroups gmane.comp.corba.omniorb.devel
Message-ID <[email protected]>
------=_20090906045516_12735
Content-Type: text/plain; charset=iso_8859_15
Content-Transfer-Encoding: 8bit

Here we go... I had some spare time to kill (well. actually I now have
this shiny embedded box sitting beside me and really wanted the feature
:-) and decided to not wait for you to reply on the main list - so here is
the implementation of the signalling callback as an interceptor. Feedback
is welcome.

Cheers,

Felix


------=_20090906045516_12735
Content-Type: application/octet-stream;
	name="omniorb-4_1-signalMainThread_interceptor.diff"
Content-Disposition: attachment;
	filename="omniorb-4_1-signalMainThread_interceptor.diff"
Content-Transfer-Encoding: base64

SW5kZXg6IGRvYy90ZXgvb21uaU9SQi50ZXgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBkb2MvdGV4L29tbmlP
UkIudGV4CShyZXZpc2lvbiA1OTE1KQ0KKysrIGRvYy90ZXgvb21uaU9SQi50ZXgJKHdvcmtpbmcg
Y29weSkNCkBAIC01MzQ4LDcgKzUzNDgsMTggQEANCiBjaGFpbmluZyBpcyBwZXJmb3JtZWQgYnkg
Y2FsbHMgdGhyb3VnaCB0aGUgXG9we2luZm9cX1Q6OnJ1bn0gbWV0aG9kLAogcmF0aGVyIHRoYW4g
YnkgdmlzaXRpbmcgaW50ZXJjZXB0b3IgZnVuY3Rpb25zIGluIHR1cm4uCiAKK1xpdGVtW3NpZ25h
bE1haW5UaHJlYWRdXG1ib3h7fVxcCislCitDYWxsZWQgd2hlbiB0aGUgT1JCIHNpZ25hbHMgdGhl
IG1haW4gdGhyZWFkIHRvIGluZm9ybSBpdCB0aGF0IHdvcmsgaXMKK2F2YWlsYWJsZSAoaS5lLiBh
biBpbmNvbWluZyByZXF1ZXN0KSBmb3IgYSBzZXJ2YW50IGFjdGl2YXRlZCBieSBhIAorUE9BIGlt
cGxlbWVudGluZyB0aGUgTUFJTlxfVEhSRUFEXF9NT0RFTCBwb2xpY3kuIFRoZSBpbnRlcmNlcHRv
ciAKK2Z1bmN0aW9uIG11c3QgY2FsbCB0aGUgXG9we2luZm9cX1Q6OnJ1bn0gbWV0aG9kIHRvIGFj
dHVhbGx5IHRyaWdnZXIgCit0aGUgc2lnbmFsbGluZy4KIAorVGhlIGFwcGxpY2F0aW9uIGNhbiB1
c2UgdGhpcyBpbnRlcmNlcHRvciB0byBpbnRlZ3JhdGUgc2luZ2xlLXRocmVhZGVkIAorc2VydmFu
dHMgaW50byBhIGZvcmVpZ24gZXZlbnQtbG9vcCBieSBtYXJzaGFsbGluZyBhbiBldmVudCBhZnRl
ciAKK1xvcHtydW59IGhhcyBmaW5pc2hlZCBhbmQgY2FsbGluZyB0aGUgXG9we09SQjo6cGVyZm9y
bVxfd29ya30gbWV0aG9kCitpbiB0aGUgZGlzcGF0Y2hlci4KIAogXGVuZHtkZXNjcmlwdGlvbn0K
IApJbmRleDogaW5jbHVkZS9vbW5pT1JCNC9pbnRlcm5hbC9pbnRlcmNlcHRvcnMuaA0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQ0KLS0tIGluY2x1ZGUvb21uaU9SQjQvaW50ZXJuYWwvaW50ZXJjZXB0b3JzLmgJKHJldmlz
aW9uIDU5MTUpDQorKysgaW5jbHVkZS9vbW5pT1JCNC9pbnRlcm5hbC9pbnRlcmNlcHRvcnMuaAko
d29ya2luZyBjb3B5KQ0KQEAgLTgzLDYgKzgzLDcgQEANCiAgIHN0YXRpYyBfY29yZV9hdHRyIGVs
bVQqIGNyZWF0ZVBvbGljeTsKICAgc3RhdGljIF9jb3JlX2F0dHIgZWxtVCogY3JlYXRlVGhyZWFk
OwogICBzdGF0aWMgX2NvcmVfYXR0ciBlbG1UKiBhc3NpZ25VcGNhbGxUaHJlYWQ7CisgIHN0YXRp
YyBfY29yZV9hdHRyIGVsbVQqIHNpZ25hbE1haW5UaHJlYWQ7CiAKICNkZWZpbmUgVklTSVRfRlVO
Q1RJT04obmFtZSkgXAogICBzdGF0aWMgaW5saW5lIHZvaWQgdmlzaXQob21uaUludGVyY2VwdG9y
czo6bmFtZSMjX1Q6OmluZm9fVCYgaW5mbykgeyBcCkluZGV4OiBpbmNsdWRlL29tbmlPUkI0L29t
bmlJbnRlcmNlcHRvcnMuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGluY2x1ZGUvb21uaU9SQjQvb21uaUlu
dGVyY2VwdG9ycy5oCShyZXZpc2lvbiA1OTE1KQ0KKysrIGluY2x1ZGUvb21uaU9SQjQvb21uaUlu
dGVyY2VwdG9ycy5oCSh3b3JraW5nIGNvcHkpDQpAQCAtMzUwLDcgKzM1MCwyMSBAQA0KICAgICB2
b2lkIHJlbW92ZShpbnRlcmNlcHRGdW5jKTsKICAgfTsKIAorICAvLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAgY2xhc3Mg
c2lnbmFsTWFpblRocmVhZF9UIHsKKyAgcHVibGljOgorICAgIAorICAgIGNsYXNzIGluZm9fVCB7
CisgICAgcHVibGljOgorICAgICAgdmlydHVhbCB2b2lkIHJ1bigpID0gMDsKKyAgICB9OwogCisg
ICAgdHlwZWRlZiB2b2lkICgqaW50ZXJjZXB0RnVuYykoaW5mb19UJiBpbmZvKTsKKworICAgIHZv
aWQgYWRkKGludGVyY2VwdEZ1bmMpOworICAgIHZvaWQgcmVtb3ZlKGludGVyY2VwdEZ1bmMpOwor
ICB9OworCiAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLwogICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgZW5jb2RlSU9SX1QgICAgICAgICAg
ICAgICAgZW5jb2RlSU9SOwpAQCAtMzY1LDYgKzM3OSw3IEBADQogICBjcmVhdGVQb2xpY3lfVCAg
ICAgICAgICAgICBjcmVhdGVQb2xpY3k7CiAgIGNyZWF0ZVRocmVhZF9UICAgICAgICAgICAgIGNy
ZWF0ZVRocmVhZDsKICAgYXNzaWduVXBjYWxsVGhyZWFkX1QgICAgICAgYXNzaWduVXBjYWxsVGhy
ZWFkOworICBzaWduYWxNYWluVGhyZWFkX1QgICAgICAgICBzaWduYWxNYWluVGhyZWFkOwogCiAg
IC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLwogICBmcmllbmQgY2xhc3Mgb21uaV9pbnRlcmNlcHRvcl9pbml0aWFsaXNlcjsK
SW5kZXg6IHNyYy9saWIvb21uaU9SQi9vcmJjb3JlL2NvcmJhT3JiLmNjDQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot
LS0gc3JjL2xpYi9vbW5pT1JCL29yYmNvcmUvY29yYmFPcmIuY2MJKHJldmlzaW9uIDU5MTUpDQor
Kysgc3JjL2xpYi9vbW5pT1JCL29yYmNvcmUvY29yYmFPcmIuY2MJKHdvcmtpbmcgY29weSkNCkBA
IC0zNjQsNiArMzY0LDggQEANCiAjaW5jbHVkZSA8b3JiUGFyYW1ldGVycy5oPgogI2luY2x1ZGUg
PG9tbmlJZGVudGl0eS5oPgogI2luY2x1ZGUgPFNvY2tldENvbGxlY3Rpb24uaD4KKyNpbmNsdWRl
IDxvbW5pT1JCNC9vbW5pSW50ZXJjZXB0b3JzLmg+CisjaW5jbHVkZSA8aW50ZXJjZXB0b3JzLmg+
CiAKICNpZmRlZiBIQVZFX1NJR05BTF9ICiAjICBpbmNsdWRlIDxzaWduYWwuaD4KQEAgLTY5Nyw2
ICs2OTksNDEgQEANCiAgIHJldHVybiB0aGVfb3JiOwogfQogCitPTU5JX05BTUVTUEFDRV9CRUdJ
TihvbW5pKQorCitjbGFzcyBzaWduYWxJbmZvCisgIDogcHVibGljIG9tbmlJbnRlcmNlcHRvcnM6
OnNpZ25hbE1haW5UaHJlYWRfVDo6aW5mb19UIHsKK3B1YmxpYzoKKyAgc2lnbmFsSW5mbyhvbW5p
X3RyYWNlZGNvbmRpdGlvbiYgY3YsIGJvb2wgYnJvYWRjYXN0KSA6CisgICAgcGRfY3YoY3YpLCBw
ZF9icm9hZGNhc3QoYnJvYWRjYXN0KSwgcGRfZWxtdChvbW5pSW50ZXJjZXB0b3JQOjpzaWduYWxN
YWluVGhyZWFkKSB7fQorCisgIHZvaWQgcnVuKCk7CisgIAorcHJpdmF0ZToKKyAgb21uaV90cmFj
ZWRjb25kaXRpb24mICAgcGRfY3Y7CisgIGJvb2wgICAgICAgICAgICAgICAgICAgIHBkX2Jyb2Fk
Y2FzdDsKKyAgb21uaUludGVyY2VwdG9yUDo6ZWxtVCogcGRfZWxtdDsKK307CisKK3ZvaWQKK3Np
Z25hbEluZm86OnJ1bigpCit7CisgIGlmIChwZF9lbG10KSB7CisgICAgb21uaUludGVyY2VwdG9y
czo6c2lnbmFsTWFpblRocmVhZF9UOjppbnRlcmNlcHRGdW5jIGYgPQorICAgICAgKG9tbmlJbnRl
cmNlcHRvcnM6OnNpZ25hbE1haW5UaHJlYWRfVDo6aW50ZXJjZXB0RnVuYylwZF9lbG10LT5mdW5j
OworICAgIHBkX2VsbXQgPSBwZF9lbG10LT5uZXh0OworICAgIGYoKnRoaXMpOworICB9IGVsc2Ug
eworICAgIGlmIChwZF9icm9hZGNhc3QpCisgICAgICBwZF9jdi5icm9hZGNhc3QoKTsKKyAgICBl
bHNlCisgICAgICBwZF9jdi5zaWduYWwoKTsKKyAgfQorfQorCitPTU5JX05BTUVTUEFDRV9FTkQo
b21uaSkKKworCiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBv
bW5pT3JiT1JCIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAvLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCkBA
IC0xMTIxLDcgKzExNTgsMTAgQEANCiAJaWYgKGludm9rZXJfc2lnbmFsLnRpbWVkd2FpdChzZWNz
LCBuYW5vc2VjcykgPT0gMCkgewogCSAgLy8gdGltZW91dAogCSAgaW52b2tlcl90aHJlYWRzLS07
Ci0JICBpZiAoaW52b2tlcl9zaHV0dGluZ19kb3duKSBpbnZva2VyX3NpZ25hbC5zaWduYWwoKTsK
KwkgIGlmIChpbnZva2VyX3NodXR0aW5nX2Rvd24pIHsKKwkgICAgc2lnbmFsSW5mbyBpbmZvKGlu
dm9rZXJfc2lnbmFsLCBmYWxzZSk7CisJICAgIGluZm8ucnVuKCk7CisJICB9CiAJICBvcmJfbG9j
ay51bmxvY2soKTsKIAkgIHJldHVybjsKIAl9CkBAIC0xMTQ4LDcgKzExODgsMTAgQEANCiAgIE9N
TklPUkJfQVNTRVJUKG9tbmlUYXNrTGluazo6aXNfZW1wdHkoaW52b2tlcl9kZWRpY2F0ZWRfdHEp
KTsKIAogICBpbnZva2VyX3RocmVhZHMtLTsKLSAgaWYgKGludm9rZXJfc2h1dHRpbmdfZG93bikg
aW52b2tlcl9zaWduYWwuc2lnbmFsKCk7CisgIGlmIChpbnZva2VyX3NodXR0aW5nX2Rvd24pIHsK
KyAgICBzaWduYWxJbmZvIGluZm8oaW52b2tlcl9zaWduYWwsIGZhbHNlKTsKKyAgICBpbmZvLnJ1
bigpOworICB9CiAgIG9yYl9sb2NrLnVubG9jaygpOwogfQogCkBAIC0xMTU5LDcgKzEyMDIsOCBA
QA0KIAogICBvbW5pX3RyYWNlZG11dGV4X2xvY2sgc3luYyhvcmJfbG9jayk7CiAgIHQtPmVucShp
bnZva2VyX2RlZGljYXRlZF90cSk7Ci0gIGludm9rZXJfc2lnbmFsLnNpZ25hbCgpOworICBzaWdu
YWxJbmZvIGluZm8oaW52b2tlcl9zaWduYWwsIGZhbHNlKTsKKyAgaW5mby5ydW4oKTsKICAgcmV0
dXJuIDE7CiB9CiAKQEAgLTExOTAsNyArMTIzNCw4IEBADQogewogICBBU1NFUlRfT01OSV9UUkFD
RURNVVRFWF9IRUxEKG9yYl9sb2NrLCAxKTsKICAgaW52b2tlcl9zaHV0dGluZ19kb3duID0gMTsK
LSAgaW52b2tlcl9zaWduYWwuYnJvYWRjYXN0KCk7CisgIHNpZ25hbEluZm8gaW5mbyhpbnZva2Vy
X3NpZ25hbCwgdHJ1ZSk7CisgIGluZm8ucnVuKCk7CiB9CiAKIApJbmRleDogc3JjL2xpYi9vbW5p
T1JCL29yYmNvcmUvaW50ZXJjZXB0b3JzLmNjDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gc3JjL2xpYi9vbW5p
T1JCL29yYmNvcmUvaW50ZXJjZXB0b3JzLmNjCShyZXZpc2lvbiA1OTE1KQ0KKysrIHNyYy9saWIv
b21uaU9SQi9vcmJjb3JlL2ludGVyY2VwdG9ycy5jYwkod29ya2luZyBjb3B5KQ0KQEAgLTg2LDYg
Kzg2LDcgQEANCiBvbW5pSW50ZXJjZXB0b3JQOjplbG1UKiBvbW5pSW50ZXJjZXB0b3JQOjpjcmVh
dGVQb2xpY3kgICAgICAgICAgID0gMDsKIG9tbmlJbnRlcmNlcHRvclA6OmVsbVQqIG9tbmlJbnRl
cmNlcHRvclA6OmNyZWF0ZVRocmVhZCAgICAgICAgICAgPSAwOwogb21uaUludGVyY2VwdG9yUDo6
ZWxtVCogb21uaUludGVyY2VwdG9yUDo6YXNzaWduVXBjYWxsVGhyZWFkICAgICA9IDA7CitvbW5p
SW50ZXJjZXB0b3JQOjplbG1UKiBvbW5pSW50ZXJjZXB0b3JQOjpzaWduYWxNYWluVGhyZWFkICAg
ICAgID0gMDsKIAogCiBzdGF0aWMgdm9pZCBsaXN0X2FkZChvbW5pSW50ZXJjZXB0b3JQOjplbG1U
KiogZXAsIHZvaWQqIGZ1bmMpCkBAIC0xNDYsNiArMTQ3LDcgQEANCiBJTlRFUkNFUFRPUl9JTVBM
RU1FTlRBVElPTihjcmVhdGVQb2xpY3kpCiBJTlRFUkNFUFRPUl9JTVBMRU1FTlRBVElPTihjcmVh
dGVUaHJlYWQpCiBJTlRFUkNFUFRPUl9JTVBMRU1FTlRBVElPTihhc3NpZ25VcGNhbGxUaHJlYWQp
CitJTlRFUkNFUFRPUl9JTVBMRU1FTlRBVElPTihzaWduYWxNYWluVGhyZWFkKQogCiAjdW5kZWYg
SU5URVJDRVBUT1JfSU1QTEVNRU5UQVRJT04KIApAQCAtMTc4LDYgKzE4MCw3IEBADQogICAgICAg
bGlzdF9kZWwoJm9tbmlJbnRlcmNlcHRvclA6OmNyZWF0ZVBvbGljeSk7CiAgICAgICBsaXN0X2Rl
bCgmb21uaUludGVyY2VwdG9yUDo6Y3JlYXRlVGhyZWFkKTsKICAgICAgIGxpc3RfZGVsKCZvbW5p
SW50ZXJjZXB0b3JQOjphc3NpZ25VcGNhbGxUaHJlYWQpOworICAgICAgbGlzdF9kZWwoJm9tbmlJ
bnRlcmNlcHRvclA6OnNpZ25hbE1haW5UaHJlYWQpOwogICAgIH0KICAgfQogCg==

------=_20090906045516_12735
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
omniORB-dev mailing list
[email protected]
http://www.omniorb-support.com/mailman/listinfo/omniorb-dev

------=_20090906045516_12735--