X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fstdio%2F__lockfile.c;h=66a4d26d16a6134306b6d6c1dad8809ca0468882;hb=aed707f679cce80afd929f0efaf080f1e8481330;hp=93c94867868801c4d4df7dd8d3e9fb0f90648b18;hpb=a37452430f93700aeb122d693959ad79d8e43ada;p=musl diff --git a/src/stdio/__lockfile.c b/src/stdio/__lockfile.c index 93c94867..66a4d26d 100644 --- a/src/stdio/__lockfile.c +++ b/src/stdio/__lockfile.c @@ -3,7 +3,7 @@ void __lockfile(FILE *f) { - int spins=100000; + int spins=10000; int tid; if (f->lock < 0) return; @@ -13,8 +13,8 @@ void __lockfile(FILE *f) f->lockcount++; return; } - while (f->lock || a_cas(&f->lock, 0, tid)) + while (a_cas(&f->lock, 0, tid)) if (spins) spins--, a_spin(); - else syscall(SYS_sched_yield); + else __syscall(SYS_sched_yield); f->lockcount = 1; }