FW: [omniORB] "A Servant has been deleted that is still activated
"
Ben Miller
Ben.Miller@Mercia.Com
Tue, 22 May 2001 11:21:06 -0400
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_000_01C0E2D2.D20052E0
Content-Type: text/plain;
charset="iso-8859-1"
Or implement a 'ServantActivator' servant in your server application. This
can be used to automatically incarnate and etherealize your servant as and
when it is required to implement your CORBA object's methods.
Ben.
-----Original Message-----
From: Stefan Seefeld [mailto:seefeld@sympatico.ca]
Sent: 22 May 2001 16:18
To: omniorb-list@uk.research.att.com
Subject: Re: [omniORB] "A Servant has been deleted that is still
activated"
Hi Gordon,
I don't remember in detail how omniORB's BOA worked (since it was by
definition
non portable), but the conceptual problem is this (whether you use a POA
or a BOA):
Once you create your servant, you bind it to an object adapter (OA),
which then can
map incoming requests to servant methods.
Once you are done, you can't simply delete the servant, since it is
still bound
to the OA. What if there are pending incoming requests for your servant
? How
can you make sure they are blocked/deleted such that no dangling pointer is
(ab)used ?
The solution is to deactivate the servant (synchronously !) before it is
deleted. To make
that convenient, you can use ref counting such that the POA will
implictely delete the
servant after the last request has been processed (and the servant was
removed from
the 'Active Object Map').
Regards, Stefan
------_=_NextPart_000_01C0E2D2.D20052E0
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64
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
HmNYQUx0sTIAcCcpKis2cGcLEV5zQ+B4wS5UKjp9ejAAHgBwAAEAAAA/AAAAW29tbmlPUkJdICJB
IFNlcnZhbnQgaGFzIGJlZW4gZGVsZXRlZCB0aGF0IGlzIHN0aWxsIGFjdGl2YXRlZCIAAAIBcQAB
AAAAIAAAAAHA4tIwo1UHhIBOFBHVsu4AoMkdwasAAHILEAAAFcFAAwAuAAAAAAALAAIAAQAAAAsA
FwwAAAAAAwBdQAAAAAADAAlZAQAAAAMA3j+vbwAAQAA5AOBSANLS4sABAwDxPwkEAAAeADFAAQAA
AAQAAABCRU4AAwAaQAAAAAAeADBAAQAAAAQAAABCRU4AAwAZQAAAAAADACYAAAAAAAMANgAAAAAA
AwD9P+QEAAADAIAQ/////wIBRwABAAAANQAAAGM9VVM7YT1NRVJDSUE7cD1NRVJDSUE7bD1FWENI
QU5HRS0wMTA1MjIxNTIxMDZaLTY1MDEAAAAAAgH5PwEAAABbAAAAAAAAANynQMjAQhAatLkIACsv
4YIBAAAAAAAAAC9PPU1FUkNJQSBTT0ZUV0FSRSBMVEQvT1U9TUVSQ0lBX0VYQ0hBTkdFL0NOPVJF
Q0lQSUVOVFMvQ049QkVOAAAeAPg/AQAAAAsAAABCZW4gTWlsbGVyAAAeADhAAQAAAAQAAABCRU4A
AgH7PwEAAABbAAAAAAAAANynQMjAQhAatLkIACsv4YIBAAAAAAAAAC9PPU1FUkNJQSBTT0ZUV0FS
RSBMVEQvT1U9TUVSQ0lBX0VYQ0hBTkdFL0NOPVJFQ0lQSUVOVFMvQ049QkVOAAAeAPo/AQAAAAsA
AABCZW4gTWlsbGVyAAAeADlAAQAAAAQAAABCRU4AQAAHMGiyO83S4sABQAAIMAwTafXS4sABHgA9
AAEAAAAFAAAARlc6IAAAAAAeAB0OAQAAAD8AAABbb21uaU9SQl0gIkEgU2VydmFudCBoYXMgYmVl
biBkZWxldGVkIHRoYXQgaXMgc3RpbGwgYWN0aXZhdGVkIgAAHgA1EAEAAAAyAAAAPEY1NjJEMERD
NTRFMUQyMTFCMkE2MDA5MDI3NDY1MDM0RDYyNzY4QGV4Y2hhbmdlPgAAAAsAKQAAAAAACwAjAAAA
AAADAAYQ9b10kgMABxAaBAAAAwAQEAAAAAADABEQAAAAAB4ACBABAAAAZQAAAE9SSU1QTEVNRU5U
QVNFUlZBTlRBQ1RJVkFUT1JTRVJWQU5USU5ZT1VSU0VSVkVSQVBQTElDQVRJT05USElTQ0FOQkVV
U0VEVE9BVVRPTUFUSUNBTExZSU5DQVJOQVRFQU5ERVQAAAAAAgF/AAEAAAAyAAAAPEY1NjJEMERD
NTRFMUQyMTFCMkE2MDA5MDI3NDY1MDM0RDYyNzY4QGV4Y2hhbmdlPgAAAEZp
------_=_NextPart_000_01C0E2D2.D20052E0--