- 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);
+ if (!obj->is_shadow) {
+ ret = munmap(obj->memory_map, obj->memory_map_size);
+ if (ret) {
+ PERROR("umnmap");
+ assert(0);
+ }
+ }
+ if (obj->shm_fd >= 0) {
+ ret = close(obj->shm_fd);
+ if (ret) {
+ PERROR("close");
+ assert(0);
+ }