From: dnbrdsky@gmail.com
To: dnbrdsky@gmail.com
Cc: stefanha@gmail.com, qemu-devel@nongnu.org
Subject: [PATCH v5 1/2] lockable: fix __COUNTER__ macro to be referenced properly
Date: Fri, 3 Apr 2020 21:21:07 -0700 [thread overview]
Message-ID: <20200404042108.389635-2-dnbrdsky@gmail.com> (raw)
In-Reply-To: <20200404042108.389635-1-dnbrdsky@gmail.com>
From: Daniel Brodsky <dnbrdsky@gmail.com>
- __COUNTER__ doesn't work with ## concat
- replaced ## with glue() macro so __COUNTER__ is evaluated
Fixes: 3284c3ddc4
Signed-off-by: Daniel Brodsky <dnbrdsky@gmail.com>
---
include/qemu/lockable.h | 7 ++++---
include/qemu/rcu.h | 2 +-
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/include/qemu/lockable.h b/include/qemu/lockable.h
index 1aeb2cb1a6..b620023141 100644
--- a/include/qemu/lockable.h
+++ b/include/qemu/lockable.h
@@ -152,7 +152,7 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(QemuLockable, qemu_lockable_auto_unlock)
* }
*/
#define WITH_QEMU_LOCK_GUARD(x) \
- WITH_QEMU_LOCK_GUARD_((x), qemu_lockable_auto##__COUNTER__)
+ WITH_QEMU_LOCK_GUARD_((x), glue(qemu_lockable_auto, __COUNTER__))
/**
* QEMU_LOCK_GUARD - Lock an object until the end of the scope
@@ -169,8 +169,9 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(QemuLockable, qemu_lockable_auto_unlock)
* return; <-- mutex is automatically unlocked
* }
*/
-#define QEMU_LOCK_GUARD(x) \
- g_autoptr(QemuLockable) qemu_lockable_auto##__COUNTER__ = \
+#define QEMU_LOCK_GUARD(x) \
+ g_autoptr(QemuLockable) \
+ glue(qemu_lockable_auto, __COUNTER__) G_GNUC_UNUSED = \
qemu_lockable_auto_lock(QEMU_MAKE_LOCKABLE((x)))
#endif
diff --git a/include/qemu/rcu.h b/include/qemu/rcu.h
index 9c82683e37..570aa603eb 100644
--- a/include/qemu/rcu.h
+++ b/include/qemu/rcu.h
@@ -170,7 +170,7 @@ static inline void rcu_read_auto_unlock(RCUReadAuto *r)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(RCUReadAuto, rcu_read_auto_unlock)
#define WITH_RCU_READ_LOCK_GUARD() \
- WITH_RCU_READ_LOCK_GUARD_(_rcu_read_auto##__COUNTER__)
+ WITH_RCU_READ_LOCK_GUARD_(glue(_rcu_read_auto, __COUNTER__))
#define WITH_RCU_READ_LOCK_GUARD_(var) \
for (g_autoptr(RCUReadAuto) var = rcu_read_auto_lock(); \
--
2.26.0
next prev parent reply other threads:[~2020-04-04 4:22 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-04 4:21 [PATCH v5 0/2] Replaced locks with lock guard macros dnbrdsky
2020-04-04 4:21 ` dnbrdsky [this message]
2020-04-04 4:21 ` [PATCH v5 2/2] lockable: replaced locks with lock guard macros where appropriate dnbrdsky
2020-04-06 7:34 ` Juan Quintela
2020-04-11 11:19 ` Daniel Brodsky
2020-04-11 13:03 ` Paolo Bonzini
2020-04-14 8:03 ` Markus Armbruster
2020-04-14 8:16 ` Paolo Bonzini
2020-04-24 10:50 ` [PATCH v5 0/2] Replaced locks with lock guard macros Stefan Hajnoczi
2020-04-25 9:12 ` Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200404042108.389635-2-dnbrdsky@gmail.com \
--to=dnbrdsky@gmail.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.