Francois Gouget wrote:
So you're better of with the kernel module if the bug is in the application, and you're better of with shm if the bug is in the server. Then it's a matter of which one is more likely.
I'm not in front of the sources at the moment. How big is the wineserver at the moment?
If it's rather big (and I rather suspect it is), then it seems obvious which one is more likely. The windows apps are released apps that were working on Windows NT. The wineserver, on the other hand, is a piece of Alpha software that has not seen too much pounding into. I think that a bug in the server is MUCH MUCH MUCH more likely to happen.
I think the best approach is a hybrid one. We have a kernel module that does only the bare minimum required in the kernel. Everything else is done using user-mode processes. This has several important advantages:
1. Bugs are much less likely to happen in the kernel area - less chances of blowing the entire machine away. 2. It becomes much easier to port the kernel to other platforms. 3. You can still, basically, do everything you did with a full fledged kernel wineserver. 4. Rebooting wine does not require rebooting the kernel (machine), or even unloading and reloading the kernel module.
It is even, theoretically, possible to run several wineservers this way, though I'm not sure enough of the fine details to say that for sure.
Shachar