On 04/17/2012 08:44 AM, Stefan Berger wrote:
For threading support, add atomic add and sub operations working on
integers. Base this on locking support provided by virMutex.
---
src/util/viratomic.h | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 91 insertions(+)
Index: libvirt-acl/src/util/viratomic.h
+typedef struct _virAtomicInt virAtomicInt;
+typedef virAtomicInt *virAtomicIntPtr;
+
+struct _virAtomicInt {
+ virMutex lock;
+ int value;
+};
virMutex is very heavyweight. I'd love it if we could use gcc
primitives and/or MSVC libc primitives (where they are known to be
available), for a lighter-weight implementation on platforms that
support it. See this patch proposal (now a year old!) for some ideas
that we should fold in before 0.9.12:
https://www.redhat.com/archives/libvir-list/2011-April/msg00368.html
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org