[Openmp-commits] [PATCH] D60729: Fixed memory leak reported in https://bugs.llvm.org/show_bug.cgi?id=41494

Phabricator via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Wed Apr 17 03:42:51 PDT 2019


This revision was automatically updated to reflect the committed changes.
Closed by commit rL358572: Fixed memory leak reported in Bugzilla: (authored by achurbanov, committed by ).
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Changed prior to commit:
  https://reviews.llvm.org/D60729?vs=195232&id=195535#toc

Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D60729/new/

https://reviews.llvm.org/D60729

Files:
  openmp/trunk/runtime/src/kmp_runtime.cpp


Index: openmp/trunk/runtime/src/kmp_runtime.cpp
===================================================================
--- openmp/trunk/runtime/src/kmp_runtime.cpp
+++ openmp/trunk/runtime/src/kmp_runtime.cpp
@@ -3982,12 +3982,19 @@
 
   TCW_4(__kmp_nth,
         __kmp_nth - 1); // __kmp_reap_thread will decrement __kmp_all_nth.
-  root->r.r_uber_thread->th.th_cg_roots->cg_nthreads--;
+  i = root->r.r_uber_thread->th.th_cg_roots->cg_nthreads--;
   KA_TRACE(100, ("__kmp_reset_root: Thread %p decrement cg_nthreads on node %p"
                  " to %d\n",
                  root->r.r_uber_thread, root->r.r_uber_thread->th.th_cg_roots,
                  root->r.r_uber_thread->th.th_cg_roots->cg_nthreads));
-
+  if (i == 1) {
+    // need to free contention group structure
+    KMP_DEBUG_ASSERT(root->r.r_uber_thread ==
+                     root->r.r_uber_thread->th.th_cg_roots->cg_root);
+    KMP_DEBUG_ASSERT(root->r.r_uber_thread->th.th_cg_roots->up == NULL);
+    __kmp_free(root->r.r_uber_thread->th.th_cg_roots);
+    root->r.r_uber_thread->th.th_cg_roots = NULL;
+  }
   __kmp_reap_thread(root->r.r_uber_thread, 1);
 
   // We canot put root thread to __kmp_thread_pool, so we have to reap it istead


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D60729.195535.patch
Type: text/x-patch
Size: 1212 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20190417/ac1f20af/attachment.bin>


More information about the Openmp-commits mailing list