1#include "stdio_impl.h"
2#include <pthread.h>
3
4static FILE *ofl_head;
5
6static pthread_mutex_t locallock = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
7
8static int LOCK(void)
9{
10    return pthread_mutex_lock(&locallock);
11}
12
13static void UNLOCK(void)
14{
15    (void)pthread_mutex_unlock(&locallock);
16}
17
18
19FILE **__ofl_lock()
20{
21	LOCK();
22	return &ofl_head;
23}
24
25void __ofl_unlock()
26{
27	UNLOCK();
28}
29