mirror of
https://github.com/qemu/qemu.git
synced 2024-12-14 15:03:33 +08:00
2da61b671e
QemuMutex does not guarantee fairness and cannot be acquired recursively: Fairness means each locker gets a turn and the scheduler cannot cause starvation. Recursive locking is useful for composition, it allows a sequence of locking operations to be invoked atomically by acquiring the lock around them. This patch adds RFifoLock, a recursive lock that guarantees FIFO order. Its first user is added in the next patch. RFifoLock has one additional feature: it can be initialized with an optional contention callback. The callback is invoked whenever a thread must wait for the lock. For example, it can be used to poke the current owner so that they release the lock soon. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
18 lines
733 B
Makefile
18 lines
733 B
Makefile
util-obj-y = osdep.o cutils.o unicode.o qemu-timer-common.o
|
|
util-obj-$(CONFIG_WIN32) += oslib-win32.o qemu-thread-win32.o event_notifier-win32.o
|
|
util-obj-$(CONFIG_POSIX) += oslib-posix.o qemu-thread-posix.o event_notifier-posix.o qemu-openpty.o
|
|
util-obj-y += envlist.o path.o host-utils.o cache-utils.o module.o
|
|
util-obj-y += bitmap.o bitops.o hbitmap.o
|
|
util-obj-y += fifo8.o
|
|
util-obj-y += acl.o
|
|
util-obj-y += error.o qemu-error.o
|
|
util-obj-$(CONFIG_POSIX) += compatfd.o
|
|
util-obj-y += iov.o aes.o qemu-config.o qemu-sockets.o uri.o notify.o
|
|
util-obj-y += qemu-option.o qemu-progress.o
|
|
util-obj-y += hexdump.o
|
|
util-obj-y += crc32c.o
|
|
util-obj-y += throttle.o
|
|
util-obj-y += getauxval.o
|
|
util-obj-y += readline.o
|
|
util-obj-y += rfifolock.o
|