| Summary: | CDOServerProtocol can get deactivated while associated Signals are still executing | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Modeling] EMF | Reporter: | Caspar D. <caspar_d> | ||||||
| Component: | cdo.net4j | Assignee: | Caspar D. <caspar_d> | ||||||
| Status: | CLOSED FIXED | QA Contact: | Eike Stepper <stepper> | ||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | saulius.tvarijonas, stepper | ||||||
| Version: | 4.0 | Flags: | stepper:
review+
|
||||||
| Target Milestone: | --- | ||||||||
| Hardware: | All | ||||||||
| OS: | All | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
|
Description
Caspar D.
As discussed on Skype between Eike and myself, I will try to fix this by having deactivation of the protocol join on the execution of associated signals. That is, the deactivation will wait for execution of these signals to finish. Caspar, please note that you may have to overwrite doBeforeDeactivate() rather than doDeactivate() because of the correlation between deactivate() and isActive():
public final Exception deactivate()
{
doBeforeDeactivate();
lifecycleState = LifecycleState.DEACTIVATING;
doDeactivate();
lifecycleState = LifecycleState.INACTIVE;
}
public final boolean isActive()
{
return lifecycleState == LifecycleState.ACTIVE;
}
Created attachment 175699 [details]
Patch
Yours noted. See patch.
Created attachment 176081 [details]
Patch v2 - ready to be committed
Caspar, I changed the way to ensure that a maximum of 10 seconds is sed to wait for. Please clone this bug to maintenance and commit there without review.
Committed to HEAD Available in R20110608-1407 |