summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mount/umount.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/mount/umount.c b/mount/umount.c
index add6c87da..c87af6b2c 100644
--- a/mount/umount.c
+++ b/mount/umount.c
@@ -291,6 +291,8 @@ umount_one (const char *spec, const char *node, const char *type,
if (check_special_umountprog(spec, node, type, &status))
return status;
+ block_signals(SIG_BLOCK);
+
/* Skip the actual umounting for --fake */
if (fake)
goto writemtab;
@@ -357,6 +359,7 @@ umount_one (const char *spec, const char *node, const char *type,
remnt.mnt_passno = 0;
update_mtab(node, &remnt);
}
+ block_signals(SIG_UNBLOCK);
return 0;
} else if (errno != EBUSY) { /* hmm ... */
perror("remount");
@@ -426,6 +429,8 @@ umount_one (const char *spec, const char *node, const char *type,
#endif
}
+ block_signals(SIG_UNBLOCK);
+
if (res >= 0)
return 0;
if (umnt_err)