qemu-irix/include/qemu
Izumi Tsutsui 79761c6681 semaphore: fix a hangup problem under load on NetBSD hosts.
Fix following bugs in "fallback implementation of counting semaphores
with mutex+condvar" added in c166cb72f1676855816340666c3b618beef4b976:
 - waiting threads are not restarted properly if more than one threads
   are waiting unblock signals in qemu_sem_timedwait()
 - possible missing pthread_cond_signal(3) calls when waiting threads
   are returned by ETIMEDOUT
 - fix an uninitialized variable
The problem is analyzed by and fix is provided by Noriyuki Soda.

Also put additional cleanup suggested by Laszlo Ersek:
 - make QemuSemaphore.count unsigned (it won't be negative)
 - check a return value of in pthread_cond_wait() in qemu_sem_wait()

Signed-off-by: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Message-id: 1372841894-10634-1-git-send-email-tsutsui@ceres.dti.ne.jp
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-08-05 11:48:00 -05:00
..
acl.h
aes.h aes: make Td[0-5] and Te[0-5] tables non static 2013-04-13 13:51:57 +02:00
atomic.h add a header file for atomic operations 2013-07-04 17:42:49 +02:00
bitmap.h
bitops.h bitops: Provide sextract32() and sextract64() 2013-07-22 15:41:11 -05:00
bswap.h bswap: fix compiler warning 2013-04-19 11:28:22 +02:00
cache-utils.h
compatfd.h
compiler.h audio: Replace static functions in header file by macros, remove GCC_ATTR 2013-06-21 22:52:50 +04:00
config-file.h remove some double-includes 2013-05-18 16:35:12 +04:00
crc32c.h qemu: add castagnoli crc32c checksum algorithm 2013-05-03 10:31:58 +02:00
envlist.h
error-report.h add timestamp to error_report() 2013-07-10 13:42:09 -04:00
event_notifier.h
fifo8.h
hbitmap.h
host-utils.h
int128.h int128: optimize and add test cases 2013-07-02 08:17:01 +02:00
iov.h
log.h log: Change log_cpu_state[_mask]() argument to CPUState 2013-07-09 21:33:04 +02:00
main-loop.h
module.h
notify.h notify: add NotiferWithReturn so notifier list can abort 2013-06-28 09:20:26 +02:00
option.h qdev: Add SIZE type to qdev properties 2013-07-29 19:33:33 -05:00
option_int.h
osdep.h osdep: add qemu_get_local_state_pathname() 2013-05-30 11:37:37 -05:00
queue.h
range.h range: add Range structure 2013-07-04 10:40:56 +03:00
ratelimit.h
sockets.h
thread-posix.h semaphore: fix a hangup problem under load on NetBSD hosts. 2013-08-05 11:48:00 -05:00
thread-win32.h
thread.h
timer.h Remove unnecessary FreeBSD #include 2013-04-25 14:45:46 -05:00
tls.h
typedefs.h pci: store PCI hole ranges in guestinfo structure 2013-07-04 10:40:56 +03:00
uri.h
xattr.h