diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2007-12-12 11:53:38 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2007-12-12 11:53:38 +0000 |
commit | 918f0ad95b73e506d20488cb8ddd35d1a2524c7c (patch) | |
tree | c2adf3e3c71b94c59b8d64beb9a0ab83ab87119c /lib/mount.c | |
parent | 0b47f6bc8bfe939f12266ef41cba31a2eb2c5f30 (diff) |
Disable old symbol versions if __UCLIBC__ is defined
Diffstat (limited to 'lib/mount.c')
-rw-r--r-- | lib/mount.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/mount.c b/lib/mount.c index e0fea56..8a5c5ab 100644 --- a/lib/mount.c +++ b/lib/mount.c @@ -8,6 +8,7 @@ #include "config.h" #include "fuse_i.h" +#include "fuse_misc.h" #include "fuse_opt.h" #include "fuse_common_compat.h" #include "mount_util.h" @@ -283,6 +284,10 @@ void fuse_kern_unmount(const char *mountpoint, int fd) then the filesystem is already unmounted */ if (res == 1 && (pfd.revents & POLLERR)) return; + + /* Need to close file descriptor, otherwise synchronous umount + would recurse into filesystem, and deadlock */ + close(fd); } if (geteuid() == 0) { @@ -579,5 +584,5 @@ int fuse_kern_mount(const char *mountpoint, struct fuse_args *args) return res; } -__asm__(".symver fuse_mount_compat22,fuse_mount@FUSE_2.2"); -__asm__(".symver fuse_unmount_compat22,fuse_unmount@FUSE_2.2"); +FUSE_SYMVER(".symver fuse_mount_compat22,fuse_mount@FUSE_2.2"); +FUSE_SYMVER(".symver fuse_unmount_compat22,fuse_unmount@FUSE_2.2"); |