On Sun, 19 Jan 2003, Shachar Shemesh wrote:
Francois Gouget wrote:
Anyway, when compared to the shared memory server it seems to me that the main advantage of a kernel module is stability. It is my understanding (correct me if I'm wrong) that with the shared memory approach, a buggy (or malicious) Wine/Winelib application could crash all other Wine/Winelib applications using that server (at least only one user would be affected).
Whereas with the kernel module, it could panic the entire machine. Yepee!!
But of course that's true only if the kernel module has a bug. With the shared memory server any Windows application can crash all the others (but not the machine).
To sum up, here's a table of what crashes based on the source of the bug:
| Current | Kernel | Shm ------------------+---------------+----------------+-------------------- Bug in the server | Wine | Machine | Wine ------------------+---------------+----------------+-------------------- Bug in a Windows | Process | Process | Wine application | | |
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. It's also a good argument for having the option to keep using the current server so that you can make the trade-off between speed and stability yourself.