cpmComponentUnregister problem

Submitted by edrt on Mon, 2007-02-26 02:55.

#1
steps to reproduce:
in csa103, after print 10 times hello world, call clCpmComponentUnregister.

actual result:
csa103 is still active and print hello world.

expected result:
according to AMF-B.02.1 page158 line25 and page192 line35, csa103 should be cleanuped as if saAmfComponentErrorReport invoked.

I may misinterpret the spec, can anyone throw light on it?

#2 (if not take into consideration the above problem)
steps to reproduce:
in csa103, after print 10 times hello world, call clCpmComponentUnregister and then exit.

actual result:
csa103 is not restarted by middleware (SG's autoRepair is true in amfDefinitions.xml).

expected result:
csa103 should be restarted by middleware.

cause:
cpmComponentUnregister frees clCpmComponent::eoHandle, cause cpm skip heartbeat check on the component, cause component not restarted by the middleware after it exit.

It seems more reasonable to free clCpmComponent::eoHandle when receive response to SaAmfComponentTerminateCallbackT (instead of when receive saAmfComponentUnregister). Make such change seems fix the problem. Is there any side effect make such change?

Thanks
Eddy