summaryrefslogtreecommitdiff
path: root/libc/stdio
diff options
context:
space:
mode:
Diffstat (limited to 'libc/stdio')
-rw-r--r--libc/stdio/Makefile2
-rw-r--r--libc/stdio/stdio.c8
2 files changed, 9 insertions, 1 deletions
diff --git a/libc/stdio/Makefile b/libc/stdio/Makefile
index c2a557a45..14fdb7029 100644
--- a/libc/stdio/Makefile
+++ b/libc/stdio/Makefile
@@ -54,7 +54,7 @@ MOBJ = fclose.o fflush.o fopen.o freopen.o perror.o remove.o \
__fbufsize.o __freading.o __fwriting.o __freadable.o __fwritable.o \
__flbf.o __fpurge.o __fpending.o _flushlbf.o \
fopencookie.o fmemopen.o open_memstream.o \
- __fsetlocking.o \
+ __fsetlocking.o flockfile.o ftrylockfile.o funlockfile.o \
_stdio_fopen.o _stdio_fread.o _stdio_fwrite.o _stdio_adjpos.o \
_stdio_lseek.o _stdio_init.o \
_stdio_fsfopen.o _stdio_fdout.o _uintmaxtostr.o
diff --git a/libc/stdio/stdio.c b/libc/stdio/stdio.c
index 49d2a74c6..8ee1a16e2 100644
--- a/libc/stdio/stdio.c
+++ b/libc/stdio/stdio.c
@@ -1007,7 +1007,9 @@ int __fsetlocking(FILE *stream, int locking_mode)
void flockfile(FILE *stream)
{
+#ifdef __STDIO_THREADSAFE
pthread_mutex_lock(&stream->lock);
+#endif
}
#endif
@@ -1016,7 +1018,11 @@ void flockfile(FILE *stream)
int ftrylockfile(FILE *stream)
{
+#ifdef __STDIO_THREADSAFE
return pthread_mutex_trylock(&stream->lock);
+#else
+ return 1;
+#endif
}
#endif
@@ -1025,7 +1031,9 @@ int ftrylockfile(FILE *stream)
void funlockfile(FILE *stream)
{
+#ifdef __STDIO_THREADSAFE
pthread_mutex_unlock(&stream->lock);
+#endif
}
#endif