Exemplo n.º 1
0
int fuse_mnt_umount(const char *progname, const char *abs_mnt,
		    const char *rel_mnt, int lazy)
{
	int res;

	if (!mtab_needs_update(abs_mnt)) {
		res = umount2(rel_mnt, lazy ? 2 : 0);
		if (res == -1)
			fprintf(stderr, "%s: failed to unmount %s: %s\n",
				progname, abs_mnt, strerror(errno));
		return res;
	}

	return exec_umount(progname, rel_mnt, lazy);
}
Exemplo n.º 2
0
static int
do_umount()
{
    pid_t pid;
    if((pid = fork()) == -1) {
        fprintf(stderr, "fork() failed\n");
        exit(EXIT_FAILURE);
    }
    if(pid == 0) {
        exec_umount();
		return -1;
	}
    else {
        return wait_status(pid);
	}
}