vpp-83: fix double-unlock 11/1611/2
authorDave Barach <[email protected]>
Fri, 17 Jun 2016 00:14:43 +0000 (20:14 -0400)
committerDamjan Marion <[email protected]>
Fri, 17 Jun 2016 07:09:44 +0000 (07:09 +0000)
Change-Id: I0b75b4f9bef62aba69e9cc163924f6b985a35455
Signed-off-by: Dave Barach <[email protected]>
vlib-api/vlibmemory/memory_shared.c

index 1684acf..e4f5dd0 100644 (file)
@@ -288,8 +288,9 @@ int vl_map_shmem (char *region_name, int is_vlib)
             pthread_mutex_lock (&root_rp->mutex);
             svm_client_scan_this_region_nolock (root_rp);
             pthread_mutex_unlock (&root_rp->mutex);
-        } 
-        pthread_mutex_unlock (&vlib_rp->mutex);
+        } else {
+            pthread_mutex_unlock (&vlib_rp->mutex);
+        }
         am->vlib_rp = vlib_rp;
         vec_add1(am->mapped_shmem_regions, vlib_rp);
         return 0;