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.
This commit is contained in:
Pawel Jakub Dawidek 2010-12-21 21:59:21 +00:00
parent 3318c3ef45
commit 8dfec4a3d5

View file

@ -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; \