X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fstdio%2Ffunlockfile.c;h=44d8b0df5cff33216ca0968f8789fac3bb8b4a25;hb=1d5750b95c06913a1f18a995481276d698d20fae;hp=d69f68ee8c86e32b7b27ced9088b2c75c79442b5;hpb=5eb0d33ec0f08b123c5c10877d6258d05fa9453a;p=musl diff --git a/src/stdio/funlockfile.c b/src/stdio/funlockfile.c index d69f68ee..44d8b0df 100644 --- a/src/stdio/funlockfile.c +++ b/src/stdio/funlockfile.c @@ -3,5 +3,11 @@ void funlockfile(FILE *f) { - FUNLOCK(f); + if (f->lockcount == 1) { + __unlist_locked_file(f); + f->lockcount = 0; + __unlockfile(f); + } else { + f->lockcount--; + } }