diff options
Diffstat (limited to 'src/gb')
-rw-r--r-- | src/gb/gprs_ns.c | 19 | ||||
-rw-r--r-- | src/gb/libosmogb.map | 1 |
2 files changed, 13 insertions, 7 deletions
diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index ef937d9e..5620b3a7 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -917,13 +917,7 @@ struct gprs_ns_inst *gprs_ns_instantiate(gprs_ns_cb_t *cb, void *ctx) return nsi; } -/*! \brief Destroy an entire NS instance - * \param nsi gprs_ns_inst that is to be destroyed - * - * This function releases all resources associated with the - * NS-instance. - */ -void gprs_ns_destroy(struct gprs_ns_inst *nsi) +void gprs_ns_close(struct gprs_ns_inst *nsi) { struct gprs_nsvc *nsvc, *nsvc2; @@ -935,8 +929,19 @@ void gprs_ns_destroy(struct gprs_ns_inst *nsi) if (nsi->nsip.fd.data) { close(nsi->nsip.fd.fd); osmo_fd_unregister(&nsi->nsip.fd); + nsi->nsip.fd.data = NULL; } +} +/*! \brief Destroy an entire NS instance + * \param nsi gprs_ns_inst that is to be destroyed + * + * This function releases all resources associated with the + * NS-instance. + */ +void gprs_ns_destroy(struct gprs_ns_inst *nsi) +{ + gprs_ns_close(nsi); /* free the NSI */ talloc_free(nsi); } diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map index d65819b4..7af085c5 100644 --- a/src/gb/libosmogb.map +++ b/src/gb/libosmogb.map @@ -38,6 +38,7 @@ bssgp_nsi; gprs_ns_cause_str; gprs_ns_destroy; +gprs_ns_close; gprs_ns_frgre_listen; gprs_ns_frgre_sendmsg; gprs_ns_instantiate; |