]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Make the frame counting done with TRACE_FRAMES defined thread-safe
authorRussell Bryant <russell@russellbryant.com>
Mon, 31 Jul 2006 04:04:02 +0000 (04:04 +0000)
committerRussell Bryant <russell@russellbryant.com>
Mon, 31 Jul 2006 04:04:02 +0000 (04:04 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@38546 65c4cc65-6c06-0410-ace0-fbb531ad65f3

frame.c

diff --git a/frame.c b/frame.c
index 2b504399d0ee772762ae67aac526d2465e8c0a76..81894483db4dc98f4919d196cd4f80fa3e8125ba 100644 (file)
--- a/frame.c
+++ b/frame.c
@@ -253,9 +253,9 @@ static struct ast_frame *ast_frame_header_new(void)
                memset(f, 0, sizeof(struct ast_frame));
 #ifdef TRACE_FRAMES
        if (f) {
-               headers++;
                f->prev = NULL;
                ast_mutex_lock(&framelock);
+               headers++;
                f->next = headerlist;
                if (headerlist)
                        headerlist->prev = f;
@@ -282,8 +282,8 @@ void ast_frfree(struct ast_frame *fr)
        }
        if (fr->mallocd & AST_MALLOCD_HDR) {
 #ifdef TRACE_FRAMES
-               headers--;
                ast_mutex_lock(&framelock);
+               headers--;
                if (fr->next)
                        fr->next->prev = fr->prev;
                if (fr->prev)