Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Fix unlinking of /dev/shm files.
[vpp.git]
/
src
/
svm
/
ssvm.c
diff --git
a/src/svm/ssvm.c
b/src/svm/ssvm.c
index
6cda1f2
..
23e3cf4
100644
(file)
--- a/
src/svm/ssvm.c
+++ b/
src/svm/ssvm.c
@@
-29,6
+29,9
@@
ssvm_master_init (ssvm_private_t * ssvm, u32 master_index)
if (ssvm->ssvm_size == 0)
return SSVM_API_ERROR_NO_SIZE;
if (ssvm->ssvm_size == 0)
return SSVM_API_ERROR_NO_SIZE;
+ if (CLIB_DEBUG > 1)
+ clib_warning ("[%d] creating segment '%s'", getpid (), ssvm->name);
+
ssvm_filename = format (0, "/dev/shm/%s%c", ssvm->name, 0);
unlink ((char *) ssvm_filename);
ssvm_filename = format (0, "/dev/shm/%s%c", ssvm->name, 0);
unlink ((char *) ssvm_filename);
@@
-176,12
+179,18
@@
ssvm_delete (ssvm_private_t * ssvm)
fn = format (0, "/dev/shm/%s%c", ssvm->name, 0);
fn = format (0, "/dev/shm/%s%c", ssvm->name, 0);
+ if (CLIB_DEBUG > 1)
+ clib_warning ("[%d] unlinking ssvm (%s) backing file '%s'", getpid (),
+ ssvm->name, fn);
+
/* Throw away the backing file */
if (unlink ((char *) fn) < 0)
clib_unix_warning ("unlink segment '%s'", ssvm->name);
/* Throw away the backing file */
if (unlink ((char *) fn) < 0)
clib_unix_warning ("unlink segment '%s'", ssvm->name);
- munmap ((void *) ssvm->requested_va, ssvm->ssvm_size);
vec_free (fn);
vec_free (fn);
+ vec_free (ssvm->name);
+
+ munmap ((void *) ssvm->requested_va, ssvm->ssvm_size);
}
}