|
From: | Eric Noulard |
Subject: | Re: [certi-dev] Cleanup in RTIA when federate crashes |
Date: | Tue, 12 Aug 2014 15:56:12 +0200 |
Hi,
I sent you a patch (https://savannah.nongnu.org/patch/?8494) to make
RTIA.exe exit when federate crashes. Now I noticed that while it does
make RTIA act similarly in Linux and Windows it does not actually
solve the problem.
Reason is that since RTIA does quit gracefully it also makes RTIG
think that federate exited normally. And therefore it does not do
killFederate stuff (like unsubscribe, unpublish and object attribute
releases).
To be honest I think killFederate is something that should be done
even in normal federate exit, but I am not sure if HLA specs say
anything about automatic unpublish and unsubscribe etc. At least in
Portico unsubscribe etc is done automatically every time federate
quits for what ever reason.
I'm not able to test in Linux just now, but I think simple program
that subscribes some attributes and then crashes (and then RTIA
exiting automatically) is not working well either.
There would be two alternative solutions for this problem.
One would be to add flag to Communications class that makes sure that
NM_Close_Connexion is not sent in destructor in case federate crash
has occured.
Other would be to change RTIG to do full cleanup in every case when
federate quits (normally or by crash). I don't see reason why it is
not done in all cases. The federation becomes broken if federate exits
without unsubscribing and unpublishing correctly anyways.
[Prev in Thread] | Current Thread | [Next in Thread] |