summaryrefslogtreecommitdiff
path: root/libc/stdio-common/isoc99_scanf.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/stdio-common/isoc99_scanf.c')
-rw-r--r--libc/stdio-common/isoc99_scanf.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libc/stdio-common/isoc99_scanf.c b/libc/stdio-common/isoc99_scanf.c
index 2e04e700e..2bd1e512c 100644
--- a/libc/stdio-common/isoc99_scanf.c
+++ b/libc/stdio-common/isoc99_scanf.c
@@ -28,13 +28,17 @@ __isoc99_scanf (const char *format, ...)
va_list arg;
int done;
+#ifdef _IO_MTSAFE_IO
_IO_acquire_lock_clear_flags2 (stdin);
+#endif
stdin->_flags2 |= _IO_FLAGS2_SCANF_STD;
va_start (arg, format);
done = _IO_vfscanf (stdin, format, arg, NULL);
va_end (arg);
+#ifdef _IO_MTSAFE_IO
_IO_release_lock (stdin);
+#endif
return done;
}