summaryrefslogtreecommitdiff
path: root/src/gsmd/usock.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gsmd/usock.c')
-rw-r--r--src/gsmd/usock.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gsmd/usock.c b/src/gsmd/usock.c
index 6b29125..3dc74d3 100644
--- a/src/gsmd/usock.c
+++ b/src/gsmd/usock.c
@@ -1205,9 +1205,11 @@ static int gsmd_usock_user_cb(int fd, unsigned int what, void *data)
/* EOF, this client has just vanished */
gsmd_unregister_fd(&gu->gfd);
close(fd);
+ /* finish pending atcmd's from this client thus
+ * destroying references to the user structure. */
+ atcmd_terminate_matching(gu->gsmd, gu);
/* destroy whole user structure */
llist_del(&gu->list);
- /* FIXME: delete busy ucmds from finished_ucmds */
talloc_free(gu);
return 0;
} else if (rcvlen < 0)
personal git repositories of Harald Welte. Your mileage may vary