Hello Wine developers,
we try to use Wine in clustered environment with multiple Wine processes being started simultaneously on 8 to 80 Linux machines by a modified GNU make. The source code being built is located on an NFS mount visible by all cluster machines.
Unfortunately Wine fails after some time because of corrupted ~/.wine/system.reg. I guess multiple Wine processes try to update some keys in that file, like (differing) processor steppings etc. and this goes wrong at some point.
Also I've noticed, that the registry is being re-saved every 30 seconds (why?) - here in wine-0.9.32/server/registry.c:
static const int save_period = 30000; /* delay between periodic saves (in ms) */
I've tried adding file locking using fcntl() (which should work over NFS too) by modifiyng load_registry() and save_registry() as in the attached diff, but unfortunately it doesn't help.
Does anybody have a hint where to look?
Why updating registry is needed at all and can I disable it maybe? (And where would be the good spot to do that?)
Thank you Alex