projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
fix double-processing of DT_RELR relocations in ldso relocating itself
[musl]
/
src
/
stdio
/
funlockfile.c
diff --git
a/src/stdio/funlockfile.c
b/src/stdio/funlockfile.c
index
d69f68e
..
44d8b0d
100644
(file)
--- 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--;
+ }
}