Project

General

Profile

Actions

Bug #2915

closed

FSM: Do not terminate child FSMs early

Added by dexter about 6 years ago. Updated about 6 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
02/09/2018
Due date:
% Done:

100%

Spec Reference:

Description

When an FSM is terminated _osmo_fsm_inst_term() first terminates the child FSMs and then executes the cleanup callback of the respective FSM. This prevents the FSM to perform actions on its children while it is terminated. Eventually this behavior prevents a graceful exit of the child FSMs. The parent FSM should always be able to signal last actions to its child FSMs before the final termination happens.

The patch that got merged recently caused unexpected fallout on the unit-tests of osmo-msc and had to be reverted:

https://gerrit.osmocom.org/6318

Manual tests on the test-network (includes osmo-bsc, osmo-msc, osmo-hlr, osmo-stp and osmo-mgw) did not reveal any behavioral difference. Also the TTCN3 testsuit for the BSC did not show any sign of problems caused by the patch. However, the fallout needs to be investigated and we need to check if it actually changes behavior or or if it just changes the position of some log-lines (expected, cleanup_cb now runs before the child termination).

Attached one finds a patch that shows the difference of the changed log-output of the test (.err).


Files

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)