svn commit: r216626 - head/sys/sys
Pawel Jakub Dawidek
pjd at FreeBSD.org
Tue Dec 21 21:59:21 UTC 2010
Author: pjd
Date: Tue Dec 21 21:59:21 2010
New Revision: 216626
URL: http://svn.freebsd.org/changeset/base/216626
Log:
Close body of the VFS_UNLOCK_GIANT() macro into do { } while (0) loop,
so it can be used in code like this:
if (cond)
VFS_UNLOCK_GIANT(vfslocked);
else
; /* Do something else. */
Before the change, compiler couldn't decide on its own if else should be
applied to the 'if (cond)' or to the if statement inside VFS_UNLOCK_GIANT()
macro.
Modified:
head/sys/sys/mount.h
Modified: head/sys/sys/mount.h
==============================================================================
--- head/sys/sys/mount.h Tue Dec 21 21:32:17 2010 (r216625)
+++ head/sys/sys/mount.h Tue Dec 21 21:59:21 2010 (r216626)
@@ -644,7 +644,11 @@ vfs_statfs_t __vfs_statfs;
_locked = 0; \
_locked; \
})
-#define VFS_UNLOCK_GIANT(locked) if ((locked)) mtx_unlock(&Giant);
+#define VFS_UNLOCK_GIANT(locked) do \
+{ \
+ if ((locked)) \
+ mtx_unlock(&Giant); \
+} while (0)
#define VFS_ASSERT_GIANT(MP) do \
{ \
struct mount *_mp; \
More information about the svn-src-head
mailing list