On 09/04/2010 04:03 PM, Andreas Färber wrote:
For BeOS there once was a pthreads library project. Maybe the same could work for Win32, implement the pthreads API and map to corresponding Win32 API functions? Then QEMU could use pthreads API and use wrappers only where strictly necessary. In theory this sounds less invasive.
There's pthread-win32 but it requires a kernel module to support signals; alternatively, with some care (if you call the Win32 API yourself, you have to ensure signals are never delivered during API calls) Cygwin provides the pthreads API as well.
But both are quite heavy-weight, and implementing the subset everybody really cares about (thread creation/joining, mutexes, condition variables, plus QEMU needs one inter-thread signal) is really easy.
The main thing is what you wrote in another message: what can QEMU offer on Windows and Darwin that semi-free Virtual Box and proprietary VMware cannot? I like to think that it can offer something, but maybe I'm wrong. :/
Paolo