From 8b7d5c86ca6e6679ae8ad7bc16e97b3b204f217d Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sun, 13 Feb 2005 08:11:38 +0000 Subject: x86_64 fixes: make sure the fall back routine for using umount2() for umount() actually works :) --- libc/sysdeps/linux/common/umount.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'libc/sysdeps/linux/common/umount.c') diff --git a/libc/sysdeps/linux/common/umount.c b/libc/sysdeps/linux/common/umount.c index f4eb8c64e..b5767a706 100644 --- a/libc/sysdeps/linux/common/umount.c +++ b/libc/sysdeps/linux/common/umount.c @@ -12,13 +12,19 @@ #ifdef __NR_umount /* Some newer archs only have umount2 */ #include _syscall1(int, umount, const char *, specialfile); + #elif defined __NR_umount2 /* No umount syscall, but umount2 is available.... Try to * emulate umount() using umount2() */ + +#define __NR___syscall_umount2 __NR_umount2 +static inline _syscall2(int, umount2, const char *, special_file, int, flags); + int umount(const char *special_file, int flags) { - return _syscall2(int, umount2, const char *, special_file, int, flags); + return (__syscall_umount2(special_file, flags)); } + #else int umount(const char *special_file) { @@ -26,4 +32,3 @@ int umount(const char *special_file) return -1; } #endif - -- cgit v1.2.3