fix remaining direct use of stat syscalls outside fstatat.c
[musl] / src / stdio / flockfile.c
index a196c1e..8e22065 100644 (file)
@@ -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());
 }