chiark / gitweb /
util: replace close_nointr_nofail() by a more useful safe_close()
[elogind.git] / src / core / umount.c
index 30111bea80d2bb18039cf3c05a58381302fb3be0..d1258f0f08b299244f3635e38fa536c4598fbebd 100644 (file)
@@ -170,7 +170,7 @@ static int swap_list_get(MountPoint **head) {
                         continue;
                 }
 
-                if (endswith(dev, "(deleted)")) {
+                if (endswith(dev, " (deleted)")) {
                         free(dev);
                         continue;
                 }
@@ -329,14 +329,14 @@ static int dm_list_get(MountPoint **head) {
 }
 
 static int delete_loopback(const char *device) {
-        int fd, r;
+        _cleanup_close_ int fd = -1;
+        int r;
 
-        if ((fd = open(device, O_RDONLY|O_CLOEXEC)) < 0)
+        fd = open(device, O_RDONLY|O_CLOEXEC);
+        if (fd < 0)
                 return errno == ENOENT ? 0 : -errno;
 
         r = ioctl(fd, LOOP_CLR_FD, 0);
-        close_nointr_nofail(fd);
-
         if (r >= 0)
                 return 1;