diff options
author | Alexander Couzens <lynxis@fe80.eu> | 2021-07-20 19:05:45 +0200 |
---|---|---|
committer | Alexander Couzens <lynxis@fe80.eu> | 2021-09-04 00:00:48 +0200 |
commit | f074659520a767a37bebef3c2b1e3ab814f48bd3 (patch) | |
tree | d80d2294a5485e89b44d3f213524bd4b17214383 /src/gb/gprs_ns2_internal.h | |
parent | gprs_ns2: gprs_ns2_free_bind() should remove itself before removing nsvcs (diff) | |
download | libosmocore-f074659520a767a37bebef3c2b1e3ab814f48bd3.tar.xz libosmocore-f074659520a767a37bebef3c2b1e3ab814f48bd3.zip |
gprs_ns2: don't use llist_for_each when freeing an element
The problem are recursive execution because a free generates an event which could
allow the use to free a nsvcs while the llist_for_each() is still running.
Change-Id: I902557fb6e56e6588728a46e43a9cbe3215d5c68
Diffstat (limited to 'src/gb/gprs_ns2_internal.h')
-rw-r--r-- | src/gb/gprs_ns2_internal.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index d2407f66..ca6bfb7e 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -354,6 +354,7 @@ struct gprs_ns2_vc *ns2_vc_alloc(struct gprs_ns2_vc_bind *bind, enum gprs_ns2_vc_mode vc_mode, const char *id); +void ns2_free_nsvcs(struct gprs_ns2_nse *nse); int ns2_bind_alloc(struct gprs_ns2_inst *nsi, const char *name, struct gprs_ns2_vc_bind **result); |