From 913f680ea231a0a8d89bb7e49296a22d162e1eaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Sun, 17 Jun 2007 11:51:49 +0000 Subject: [PATCH] followed Ingo's suggestion and introduced HAIKU_HOST_PLATFORM_64_BIT macro git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21431 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/build/BeOSBuildCompatibility.h | 4 ++++ src/tools/fs_shell/vfs.cpp | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/headers/build/BeOSBuildCompatibility.h b/headers/build/BeOSBuildCompatibility.h index ff9e3f4e5c..78aa03a2a9 100644 --- a/headers/build/BeOSBuildCompatibility.h +++ b/headers/build/BeOSBuildCompatibility.h @@ -8,6 +8,10 @@ typedef unsigned long haiku_build_addr_t; #include #include +#ifdef __x86_64__ +#define HAIKU_HOST_PLATFORM_64_BIT +#endif + #ifdef __cplusplus extern "C" { #endif diff --git a/src/tools/fs_shell/vfs.cpp b/src/tools/fs_shell/vfs.cpp index 28be34c9c5..b7e2e7cf93 100644 --- a/src/tools/fs_shell/vfs.cpp +++ b/src/tools/fs_shell/vfs.cpp @@ -3199,8 +3199,13 @@ common_lock_node(int fd, bool kernel) // We need to set the locking atomically - someone // else might set one at the same time +#ifdef HAIKU_HOST_PLATFORM_64_BIT + if (fssh_atomic_test_and_set64((vint64_t *)&vnode->mandatory_locked_by, + (fssh_addr_t)descriptor, 0) != 0) +#else if (fssh_atomic_test_and_set((vint32_t *)&vnode->mandatory_locked_by, (fssh_addr_t)descriptor, 0) != 0) +#endif status = FSSH_B_BUSY; put_fd(descriptor); @@ -3222,7 +3227,7 @@ common_unlock_node(int fd, bool kernel) // We need to set the locking atomically - someone // else might set one at the same time -#ifdef __x86_64__ +#ifdef HAIKU_HOST_PLATFORM_64_BIT if (fssh_atomic_test_and_set64((vint64_t *)&vnode->mandatory_locked_by, 0, (fssh_addr_t)descriptor) != (int64_t)descriptor) #else