 2da61b671e
			
		
	
	
		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
 |