Hi again,
Ok so I've found a workaround (not a great one..) for the deadlock I experience running System Shock 2 in wine using a SMP box. I've also tried another game in wine, Jedi Knight 2 which does not deadlock, I'm guessing it has to do with how ss2 is calling sounds, since it seems directly related to dsound underruns, and dsound_main.c says in the todo it's missing critical section locking in some parts of it's code, and it's critical section timeouts with the same address, and different tid's that are in the log when the deadlock occurs. (see older thread for more info....)
I decided I needed to try a new kernel, 2.5.70 to see if it was something with my kernel - and I also had an idea of how to work around it. The kernel upgrade still deadlocked, but 2.5.70 has the ability to set hard cpu affinity, so by restricting all the wine processes to only using cpu1, the deadlock disappears - obviously this should be fixed in the code rather than working around it like this, but I can't trace it since it doesn't happen when the game plays slow. It seems like it only happens when the game is playing at a good pace and two or more sounds are about to play at the same time. I hope someone knows what needs to be fixed for this without too much more info, as I'm only a novice coder. But until then I'll do some heavy reading on how wine works and see if I can figure it out myself... cheers -Dan
-- OverrideX overridex@punkass.com GPG Key Fingerprint = 4AD5 CE9C D7C8 0069 BDD3 7F72 3AB2 642A 5A5D EB89
It is difficult to legislate morality in the absence of moral legislators.