Skip to content

Commit

Permalink
Merge pull request eclipse-wakaama#329 from sbertin-telular/close_on_…
Browse files Browse the repository at this point in the history
…delete

Close connections when deleting servers
  • Loading branch information
dnav committed Aug 4, 2017
2 parents 85f19d4 + 8037174 commit aea7aa0
Showing 1 changed file with 14 additions and 6 deletions.
20 changes: 14 additions & 6 deletions core/liblwm2m.c
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,13 @@ void lwm2m_deregister(lwm2m_context_t * context)
}
}

static void prv_deleteServer(lwm2m_server_t * serverP)
static void prv_deleteServer(lwm2m_server_t * serverP, void *userData)
{
// TODO parse transaction and observation to remove the ones related to this server
if (serverP->sessionH != NULL)
{
lwm2m_close_connection(serverP->sessionH, userData);
}
if (NULL != serverP->location)
{
lwm2m_free(serverP->location);
Expand All @@ -105,14 +109,18 @@ static void prv_deleteServerList(lwm2m_context_t * context)
lwm2m_server_t * server;
server = context->serverList;
context->serverList = server->next;
prv_deleteServer(server);
prv_deleteServer(server, context->userData);
}
}

static void prv_deleteBootstrapServer(lwm2m_server_t * serverP)
static void prv_deleteBootstrapServer(lwm2m_server_t * serverP, void *userData)
{
// TODO should we free location as in prv_deleteServer ?
// TODO should we parse transaction and observation to remove the ones related to this server ?
if (serverP->sessionH != NULL)
{
lwm2m_close_connection(serverP->sessionH, userData);
}
free_block1_buffer(serverP->block1Data);
lwm2m_free(serverP);
}
Expand All @@ -124,7 +132,7 @@ static void prv_deleteBootstrapServerList(lwm2m_context_t * context)
lwm2m_server_t * server;
server = context->bootstrapServerList;
context->bootstrapServerList = server->next;
prv_deleteBootstrapServer(server);
prv_deleteBootstrapServer(server, context->userData);
}
}

Expand Down Expand Up @@ -218,7 +226,7 @@ static int prv_refreshServerList(lwm2m_context_t * contextP)
}
else
{
prv_deleteServer(targetP);
prv_deleteServer(targetP, contextP->userData);
}
targetP = nextP;
}
Expand All @@ -235,7 +243,7 @@ static int prv_refreshServerList(lwm2m_context_t * contextP)
}
else
{
prv_deleteServer(targetP);
prv_deleteServer(targetP, contextP->userData);
}
targetP = nextP;
}
Expand Down

0 comments on commit aea7aa0

Please sign in to comment.