Merged revisions 83121 via svnmerge from
authorRussell Bryant <russell@russellbryant.com>
Wed, 19 Sep 2007 15:11:12 +0000 (15:11 +0000)
committerRussell Bryant <russell@russellbryant.com>
Wed, 19 Sep 2007 15:11:12 +0000 (15:11 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r83121 | russell | 2007-09-19 10:10:14 -0500 (Wed, 19 Sep 2007) | 4 lines

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: https://origsvn.digium.com/svn/asterisk/trunk@83126 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/manager.c

index 91fd022..4508b33 100644 (file)
@@ -761,9 +761,8 @@ static void destroy_session(struct mansession *s)
        AST_LIST_LOCK(&sessions);
        AST_LIST_REMOVE(&sessions, s, list);
        ast_atomic_fetchadd_int(&num_sessions, -1);
-       AST_LIST_UNLOCK(&sessions);
-
        free_session(s);
+       AST_LIST_UNLOCK(&sessions);
 }
 
 const char *astman_get_header(const struct message *m, char *var)