summaryrefslogtreecommitdiffstats
path: root/openbsc/tests
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2015-01-26 14:43:07 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2015-01-28 20:42:52 +0100
commite671d254cbc294f87620c2938eb6fa2883253fcb (patch)
tree413935c391ea65be30ab4438e72547f5f6eaa881 /openbsc/tests
parent555b2e5ac128211edffa34a586fe5f548eb3acba (diff)
sgsn: Add sgsn_mm_ctx_cleanup_free for safe shutdown
Currently the MM context cleanup code is distributed over several functions. sgsn_mm_ctx_free not only frees data structure but also eventually stops the timer and does the subscriber clean-up. mm_ctx_cleanup_free (gprs_gmm.c) cleans up the PDP contexts and unassign the TLLI. This commit moves the cleanup code from both functions into a new unifying function sgsn_mm_ctx_cleanup_free that cares about the clean-up of all related sub-systems. Sponsored-by: On-Waves ehf
Diffstat (limited to 'openbsc/tests')
-rw-r--r--openbsc/tests/sgsn/sgsn_test.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/openbsc/tests/sgsn/sgsn_test.c b/openbsc/tests/sgsn/sgsn_test.c
index da7da85..733380a 100644
--- a/openbsc/tests/sgsn/sgsn_test.c
+++ b/openbsc/tests/sgsn/sgsn_test.c
@@ -306,7 +306,6 @@ static void test_auth_triplets(void)
struct sgsn_mm_ctx *ctx;
struct gprs_ra_id raid = { 0, };
uint32_t local_tlli = 0xffeeddcc;
- struct gprs_llc_llme *llme;
printf("Testing authentication triplet handling\n");
@@ -355,11 +354,9 @@ static void test_auth_triplets(void)
/* Free MM context and subscriber */
subscr_put(s1);
- llme = ctx->llme;
- sgsn_mm_ctx_free(ctx);
+ sgsn_mm_ctx_cleanup_free(ctx);
s1found = gprs_subscr_get_by_imsi(imsi1);
OSMO_ASSERT(s1found == NULL);
- gprs_llgmm_assign(llme, local_tlli, 0xffffffff, GPRS_ALGO_GEA0, NULL);
}
#define TEST_GSUP_IMSI1_IE 0x01, 0x05, 0x21, 0x43, 0x65, 0x87, 0x09
@@ -595,7 +592,6 @@ static void test_subscriber_blocking(void)
struct sgsn_mm_ctx *ctx;
struct gprs_ra_id raid = { 0, };
uint32_t local_tlli = 0xffeeddcc;
- struct gprs_llc_llme *llme;
int rc;
printf("Testing subcriber procedure blocking\n");
@@ -609,7 +605,6 @@ static void test_subscriber_blocking(void)
/* Create a context */
OSMO_ASSERT(count(gprs_llme_list()) == 0);
ctx = alloc_mm_ctx(local_tlli, &raid);
- llme = ctx->llme;
strncpy(ctx->imsi, imsi1, sizeof(ctx->imsi) - 1);
/* Allocate and attach a subscriber */
@@ -661,8 +656,7 @@ static void test_subscriber_blocking(void)
OSMO_ASSERT(rc == 0);
subscr_put(s1);
- sgsn_mm_ctx_free(ctx);
- gprs_llgmm_assign(llme, local_tlli, 0xffffffff, GPRS_ALGO_GEA0, NULL);
+ sgsn_mm_ctx_cleanup_free(ctx);
assert_no_subscrs();