summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fixme3
-rw-r--r--src/automount.c5
2 files changed, 7 insertions, 1 deletions
diff --git a/fixme b/fixme
index 969c6cd30a..0894c4701d 100644
--- a/fixme
+++ b/fixme
@@ -65,7 +65,8 @@
* teach dbus to talk to systemd when autospawning services
-* unix sockets chown()/chgrp()
+* Figure out which signal handlers we actually have to reset in the
+ forked off child
Regularly:
diff --git a/src/automount.c b/src/automount.c
index 465354f555..32680461c2 100644
--- a/src/automount.c
+++ b/src/automount.c
@@ -59,6 +59,8 @@ static void repeat_unmout(const char *path) {
assert(path);
for (;;) {
+ /* If there are multiple mounts on a mount point, this
+ * removes them all */
if (umount2(path, MNT_DETACH) >= 0)
continue;
@@ -118,6 +120,9 @@ int automount_add_one_mount_link(Automount *a, Mount *m) {
if (!path_startswith(a->where, m->where))
return 0;
+ if (path_equal(a->where, m->where))
+ return 0;
+
if ((r = unit_add_dependency(UNIT(m), UNIT_BEFORE, UNIT(a), true)) < 0)
return r;