+#include <limits.h>
+
+void __do_orphaned_stdio_locks()
+{
+ FILE *f;
+ for (f=__pthread_self()->stdio_locks; f; f=f->next_locked)
+ a_store(&f->lock, 0x40000000);
+}
+
+void __unlist_locked_file(FILE *f)
+{
+ if (f->lockcount) {
+ if (f->next_locked) f->next_locked->prev_locked = f->prev_locked;
+ if (f->prev_locked) f->prev_locked->next_locked = f->next_locked;
+ else __pthread_self()->stdio_locks = f->next_locked;
+ }
+}