Review at  https://gerrit.osmocom.org/6341

Revert "fsm: do not terminate child FSMs early"

This reverts commit 5ec91980ac2224aa1e9bf070a0e382d0d8c2b729.

More or less like I expected, it creates fall-out.  osmo-msc master builds are 
failing, as are the open build service builds.  The patch has therefor *not* 
been sufficiently tested.

Change-Id: I8d961d7bbd91b6a8d7691f24cb67720c3d001c7e
---
M src/fsm.c
1 file changed, 3 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/41/6341/1

diff --git a/src/fsm.c b/src/fsm.c
index dd3538f..d8751c9 100644
--- a/src/fsm.c
+++ b/src/fsm.c
@@ -509,6 +509,9 @@
        LOGPFSMSRC(fi, file, line, "Terminating (cause = %s)\n",
                   osmo_fsm_term_cause_name(cause));
 
+       _osmo_fsm_inst_term_children(fi, OSMO_FSM_TERM_PARENT, NULL,
+                                    file, line);
+
        /* delete ourselves from the parent */
        parent = fi->proc.parent;
        if (parent) {
@@ -521,10 +524,6 @@
        if (fi->fsm->cleanup)
                fi->fsm->cleanup(fi, cause);
 
-       /* terminate all children */
-       _osmo_fsm_inst_term_children(fi, OSMO_FSM_TERM_PARENT, NULL,
-                                    file, line);
-       
        LOGPFSMSRC(fi, file, line, "Freeing instance\n");
        /* Fetch parent again in case it has changed. */
        parent = fi->proc.parent;

-- 
To view, visit https://gerrit.osmocom.org/6341
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8d961d7bbd91b6a8d7691f24cb67720c3d001c7e
Gerrit-PatchSet: 1
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <lafo...@gnumonks.org>

Reply via email to