qemu-irix/include/qemu
Izumi Tsutsui d55fc47517 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>
(cherry picked from commit 79761c6681)

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-08-13 09:30:50 -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 block-migration: add lock 2013-03-11 13:32:01 +01:00
bitmap.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
bitops.h bitops: Remove routines redundant with host-utils 2013-02-16 11:12:52 +00: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 compiler: fix warning with GCC 4.8.0 2013-03-27 10:10:14 -05:00
config-file.h qemu-option: move standard option definitions out of qemu-config.c 2013-01-12 17:17:53 +01: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 error-report.h: Supply missing include 2013-06-17 18:01:42 -05: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 misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
iov.h iov: add iov_discard_front/back() to remove data 2013-01-02 15:58:05 +01:00
log.h log.h: Supply missing includes 2013-06-17 18:01:42 -05: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 misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
option.h qemu-option: Add qemu_opts_absorb_qdict() 2013-03-15 16:07:49 +01:00
option_int.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
osdep.h osdep: introduce qemu_anon_ram_free to free qemu_anon_ram_alloc-ed memory 2013-05-14 08:53:31 -05:00
queue.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
range.h misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01: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-13 09:30:50 -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 memory: move core typedefs to qemu/typedefs.h 2013-04-15 18:19:26 +02: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