diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2018-02-03 10:39:32 -0500 |
|---|---|---|
| committer | Fam Zheng <famz@redhat.com> | 2018-02-08 09:22:03 +0800 |
| commit | e70372fcaffc99444edce400a5178cb196cddaf7 (patch) | |
| tree | c79196b96035dfb317518b22df44c806017ed79c /fsdev/qemu-fsdev-throttle.c | |
| parent | 439b6e5efcd79effc5199cba533fe4b28d75e0f6 (diff) | |
| download | focaccia-qemu-e70372fcaffc99444edce400a5178cb196cddaf7.tar.gz focaccia-qemu-e70372fcaffc99444edce400a5178cb196cddaf7.zip | |
lockable: add QemuLockable
QemuLockable is a polymorphic lock type that takes an object and knows which function to use for locking and unlocking. The implementation could use C11 _Generic, but since the support is not very widespread I am instead using __builtin_choose_expr and __builtin_types_compatible_p, which are already used by include/qemu/atomic.h. QemuLockable can be used to implement lock guards, or to pass around a lock in such a way that a function can release it and re-acquire it. The next patch will do this for CoQueue. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20180203153935.8056-3-pbonzini@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Fam Zheng <famz@redhat.com> Signed-off-by: Fam Zheng <famz@redhat.com>
Diffstat (limited to 'fsdev/qemu-fsdev-throttle.c')
0 files changed, 0 insertions, 0 deletions