X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fstdio%2Fflockfile.c;h=8e2206514c67db4bd05aef79484ad110a07170ed;hb=59b64ff686cef2a87e9552658b2c8d2531f87176;hp=a196c1efe0af11663f5e0537a0de1db02c3982ef;hpb=dba68bf98fc708cea4c478278c889fc7ad802b00;p=musl diff --git a/src/stdio/flockfile.c b/src/stdio/flockfile.c index a196c1ef..8e220651 100644 --- a/src/stdio/flockfile.c +++ b/src/stdio/flockfile.c @@ -3,8 +3,7 @@ void flockfile(FILE *f) { - while (ftrylockfile(f)) { - int owner = f->lock; - if (owner) __wait(&f->lock, &f->waiters, owner, 1); - } + if (!ftrylockfile(f)) return; + __lockfile(f); + __register_locked_file(f, __pthread_self()); }