qemu-e2k/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 c166cb72f1:
 - 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 misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
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 misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
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 misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
compatfd.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
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 misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
error-report.h add timestamp to error_report() 2013-07-10 13:42:09 -04:00
event_notifier.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
fifo8.h hw: move fifo.[ch] to libqemuutil 2013-03-01 13:53:10 +01:00
hbitmap.h hbitmap: Use non-bitops ctzl 2013-02-16 11:11:34 +00:00
host-utils.h host-utils: Use __int128_t for mul[us]64 2013-02-17 14:28:57 +00:00
int128.h int128: optimize and add test cases 2013-07-02 08:17:01 +02:00
iov.h iov: add iov_discard_front/back() to remove data 2013-01-02 15:58:05 +01:00
log.h log: Change log_cpu_state[_mask]() argument to CPUState 2013-07-09 21:33:04 +02:00
main-loop.h main-loop: add qemu_get_aio_context() 2013-03-15 16:07:50 +01:00
module.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
notify.h notify: add NotiferWithReturn so notifier list can abort 2013-06-28 09:20:26 +02:00
option_int.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
option.h qdev: Add SIZE type to qdev properties 2013-07-29 19:33:33 -05:00
osdep.h osdep: add qemu_get_local_state_pathname() 2013-05-30 11:37:37 -05:00
queue.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
range.h range: add Range structure 2013-07-04 10:40:56 +03:00
ratelimit.h stream: fix ratelimit_set_speed 2012-11-30 11:33:24 +01:00
sockets.h oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock() 2013-04-02 11:47:37 -04:00
thread-posix.h semaphore: fix a hangup problem under load on NetBSD hosts. 2013-08-05 11:48:00 -05:00
thread-win32.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
thread.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
timer.h Remove unnecessary FreeBSD #include 2013-04-25 14:45:46 -05:00
tls.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
typedefs.h pci: store PCI hole ranges in guestinfo structure 2013-07-04 10:40:56 +03:00
uri.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
xattr.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00