aboutsummaryrefslogtreecommitdiffstats
path: root/main/manager.c
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-09-19 15:10:14 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-09-19 15:10:14 +0000
commitbe54c6301af330d8619524b01d1cf91d3f3e1c1a (patch)
tree81a8492b52c00189f3bdb0d0ef7a3637eb097903 /main/manager.c
parent783d1f3f4596867ee6f19d61d37e0122f21129c7 (diff)
Fix up another potential race condition. Do the loop decrementing use count
on events with the eventq protected from being changed. (reported on IRC by Ivan) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@83121 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/manager.c')
-rw-r--r--main/manager.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/main/manager.c b/main/manager.c
index 1964bfdfd..d39de8061 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -684,9 +684,8 @@ static void destroy_session(struct mansession *s)
AST_LIST_LOCK(&sessions);
AST_LIST_REMOVE(&sessions, s, list);
num_sessions--;
- AST_LIST_UNLOCK(&sessions);
-
free_session(s);
+ AST_LIST_UNLOCK(&sessions);
}
const char *astman_get_header(const struct message *m, char *var)