12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #include <stdio.h>
- #include <pthread.h>
- extern __typeof(pthread_mutexattr_init) __pthread_mutexattr_init attribute_hidden;
- extern __typeof(pthread_mutexattr_settype) __pthread_mutexattr_settype attribute_hidden;
- extern __typeof(pthread_mutexattr_destroy) __pthread_mutexattr_destroy attribute_hidden;
- void __fresetlockfiles (void);
- void __fresetlockfiles (void)
- {
- FILE *fp;
- pthread_mutexattr_t attr;
- __pthread_mutexattr_init(&attr);
- __pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
- for (fp = _stdio_openlist; fp != NULL; fp = fp->__nextopen)
- __pthread_mutex_init(&fp->__lock, &attr);
- __pthread_mutexattr_destroy(&attr);
- }
|