On 2012-07-16 12:42, Paolo Bonzini wrote: > The new thread pool will use semaphores instead of condition > variables, because QemuCond does not have qemu_cond_timedwait.
I'll post an updated patch (according to last round's review comments) that adds this service for POSIX. I bet you'll find a way to extend it to Win32 if that is required. ;) > (I also like it more this way, since semaphores model well the > producer-consumer problem). Let's not introduce another synchronization mechanism unless there is a real need. Semaphores tend to be misused for things they don't fit, so better keep them out of reach. Also, if you do producer-consumer this way, you need a down() for every entity you dequeue. In contrast, you only interact with condition variables if there the consumer queue is empty - less atomic ops. Jan -- Siemens AG, Corporate Technology, CT RTC ITP SDP-DE Corporate Competence Center Embedded Linux