these should be tweaked according to testing. offhand i know 1000 is too low and 5000 is likely to be sufficiently high. consider trying to add futexes to file locking, too...
@@ -3,7 +3,7 @@
void __lockfile(FILE *f)
{
- int spins=100000;
+ int spins=10000;
int tid;
if (f->lock < 0) return;
@@ -2,7 +2,7 @@
void __wait(volatile int *addr, volatile int *waiters, int val, int priv)
- int spins=50000;
if (priv) priv = 128; priv=0;
while (spins--) {
if (*addr==val) a_spin();