diff options
Diffstat (limited to 'libc/stdio/vsnprintf.c')
-rw-r--r-- | libc/stdio/vsnprintf.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libc/stdio/vsnprintf.c b/libc/stdio/vsnprintf.c index ffe33ada3..2f4f8e0a4 100644 --- a/libc/stdio/vsnprintf.c +++ b/libc/stdio/vsnprintf.c @@ -41,8 +41,12 @@ int vsnprintf(char *__restrict buf, size_t size, #ifdef __UCLIBC_HAS_THREADS__ f.__user_locking = 1; /* Set user locking. */ +#ifdef __UCLIBC_HAS_FUTEXES__ + _IO_lock_init (f._lock); +#else __stdio_init_mutex(&f.__lock); #endif +#endif f.__nextopen = NULL; if (size > SIZE_MAX - (size_t) buf) { @@ -109,8 +113,12 @@ int vsnprintf(char *__restrict buf, size_t size, #ifdef __UCLIBC_HAS_THREADS__ f.f.__user_locking = 1; /* Set user locking. */ +#ifdef __UCLIBC_HAS_FUTEXES__ + _IO_lock_init (f.f._lock); +#else __stdio_init_mutex(&f.f.__lock); #endif +#endif f.f.__nextopen = NULL; rv = vfprintf((FILE *) &f, format, arg); @@ -193,8 +201,12 @@ int vsnprintf(char *__restrict buf, size_t size, #ifdef __UCLIBC_HAS_THREADS__ f.__user_locking = 1; /* Set user locking. */ +#ifdef __UCLIBC_HAS_FUTEXES__ + _IO_lock_init (f._lock); +#else __stdio_init_mutex(&f.__lock); #endif +#endif f.__nextopen = NULL; rv = vfprintf(&f, format, arg); |