Mercurial > hg > release > heapstats-1.1
changeset 61:9722a1848310
Bug 3294: Reference counter should be handled in TClassContainer::allClear()
Reviewed-by: ykubota
https://github.com/HeapStats/heapstats/pull/78
author | Yasumasa Suenaga <yasuenag@gmail.com> |
---|---|
date | Mon, 23 Jan 2017 18:50:37 +0900 |
parents | eafa619db958 |
children | 9fb6779d97d1 |
files | agent/ChangeLog agent/src/classContainer.cpp |
diffstat | 2 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/agent/ChangeLog Tue Jan 17 12:08:51 2017 +0900 +++ b/agent/ChangeLog Mon Jan 23 18:50:37 2017 +0900 @@ -1,3 +1,7 @@ +2017-01-23 Yasumasa Suenaga <yasuenag@gmail.com> + + * Bug 3294: Reference counter should be handled in TClassContainer::allClear() + 2017-01-17 Yasumasa Suenaga <yasuenag@gmail.com> * Bug 3284: HeapStats Agent might crash when object children are scanned
--- a/agent/src/classContainer.cpp Tue Jan 17 12:08:51 2017 +0900 +++ b/agent/src/classContainer.cpp Mon Jan 23 18:50:37 2017 +0900 @@ -404,9 +404,12 @@ cur != classMap->end(); ++cur) { TObjectData *pos = (*cur).second; - if (likely(pos != NULL)) { + if (pos != NULL) { + atomic_inc(&pos->numRefsFromChildren, -1); + if (atomic_get(&pos->numRefsFromChildren) == 0) { free(pos->className); free(pos); + } } }