Fix AC_LANG_SOURCE usage: only takes one parameter
[lttng-ust.git] / libringbuffer / shm.c
index ae63b004fd50723cd9c73511049bb8d042928f59..994204d1e0a2463829a8e73e3cb0cf078eae1c0f 100644 (file)
@@ -16,7 +16,8 @@
 #include <stdio.h>
 #include <signal.h>
 #include <dirent.h>
-#include <ust/align.h>
+#include <lttng/align.h>
+#include <helper.h>
 
 struct shm_object_table *shm_object_table_create(size_t max_nb_obj)
 {
@@ -203,17 +204,21 @@ void shmp_object_destroy(struct shm_object *obj)
 {
        int ret, i;
 
-        ret = munmap(obj->memory_map, obj->memory_map_size);
-        if (ret) {
-                PERROR("umnmap");
-                assert(0);
-        }
+       if (!obj->is_shadow) {
+               ret = munmap(obj->memory_map, obj->memory_map_size);
+               if (ret) {
+                       PERROR("umnmap");
+                       assert(0);
+               }
+       }
        ret = close(obj->shm_fd);
        if (ret) {
                PERROR("close");
                assert(0);
        }
        for (i = 0; i < 2; i++) {
+               if (obj->wait_fd[i] < 0)
+                       continue;
                ret = close(obj->wait_fd[i]);
                if (ret) {
                        PERROR("close");
This page took 0.023476 seconds and 4 git commands to generate.