]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
ivshmem-server: Clean up shmem on shutdown
authorJan Kiszka <jan.kiszka@siemens.com>
Mon, 5 Aug 2019 05:54:52 +0000 (07:54 +0200)
committerLaurent Vivier <laurent@vivier.eu>
Tue, 12 Nov 2019 09:36:12 +0000 (10:36 +0100)
So far, the server leaves the posix shared memory object behind when
terminating, requiring the user to explicitly remove it in order to
start a new instance.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Reviewed-by: Claudio Fontana <claudio.fontana@suse.com>
Message-Id: <d938a62c-7538-9d2b-cc0a-13b240ab9141@web.de>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
contrib/ivshmem-server/ivshmem-server.c

index 77f97b209cb93fc448ac86cbf8289ccc3b38eacd..88daee812d65c22cbfd65b74264df48f298cddb5 100644 (file)
@@ -353,6 +353,9 @@ ivshmem_server_start(IvshmemServer *server)
 err_close_sock:
     close(sock_fd);
 err_close_shm:
+    if (server->use_shm_open) {
+        shm_unlink(server->shm_path);
+    }
     close(shm_fd);
     return -1;
 }
@@ -370,6 +373,9 @@ ivshmem_server_close(IvshmemServer *server)
     }
 
     unlink(server->unix_sock_path);
+    if (server->use_shm_open) {
+        shm_unlink(server->shm_path);
+    }
     close(server->sock_fd);
     close(server->shm_fd);
     server->sock_fd = -1;