1 #include "stdio_impl.h"
4 static void dummy(FILE *f
) { }
5 weak_alias(dummy
, __unlist_locked_file
);
16 /* Past this point, f is closed and any further explict access
17 * to it is undefined. However, it still exists as an entry in
18 * the open file list and possibly in the thread's locked files
19 * list, if it was closed while explicitly locked. Functions
20 * which process these lists must tolerate dead FILE objects
21 * (which necessarily have inactive buffer pointers) without
22 * producing any side effects. */
24 if (f
->flags
& F_PERM
) return r
;
26 __unlist_locked_file(f
);
28 FILE **head
= __ofl_lock();
29 if (f
->prev
) f
->prev
->next
= f
->next
;
30 if (f
->next
) f
->next
->prev
= f
->prev
;
31 if (*head
== f
) *head
= f
->next
;