[git commit future 1/1] uClibc_stdio.h: guard internals with _LIBC

Khem Raj raj.khem at gmail.com
Sat Mar 19 18:51:25 UTC 2011


commit: http://git.uclibc.org/uClibc/commit/?id=294cf388f5f9c201e67ffb3bb6422453e69a6132
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/future

Provide __UCLIBC_IO_MUTEX for the installed version

Signed-off-by: Peter S. Mazinger <ps.m at gmx.net>
---
 libc/sysdeps/linux/common/bits/uClibc_stdio.h |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/libc/sysdeps/linux/common/bits/uClibc_stdio.h b/libc/sysdeps/linux/common/bits/uClibc_stdio.h
index 2641431..67e1af1 100644
--- a/libc/sysdeps/linux/common/bits/uClibc_stdio.h
+++ b/libc/sysdeps/linux/common/bits/uClibc_stdio.h
@@ -78,6 +78,7 @@
 #define __STDIO_PUTC_MACRO
 #endif
 
+#ifdef _LIBC
 /**********************************************************************/
 #include <bits/uClibc_mutex.h>
 
@@ -132,6 +133,8 @@
 #endif
 #endif
 
+#endif /* _LIBC */
+
 /**********************************************************************/
 
 #define __STDIO_IOFBF 0		/* Fully buffered.  */
@@ -187,7 +190,7 @@ typedef struct {
 	__io_close_fn *close;
 } _IO_cookie_io_functions_t;
 
-#if defined(_LIBC) || defined(_GNU_SOURCE)
+#ifdef __USE_GNU
 
 typedef __io_read_fn cookie_read_function_t;
 typedef __io_write_fn cookie_write_function_t;
@@ -201,6 +204,15 @@ typedef _IO_cookie_io_functions_t cookie_io_functions_t;
 #endif
 /**********************************************************************/
 
+#if defined __UCLIBC_HAS_THREADS__ && !defined __UCLIBC_IO_MUTEX
+# ifdef __UCLIBC_HAS_THREADS_NATIVE__
+#  include <bits/stdio-lock.h>
+#  define __UCLIBC_IO_MUTEX(M) _IO_lock_t M
+# else
+#  include <bits/pthreadtypes.h>
+#  define __UCLIBC_IO_MUTEX(M) pthread_mutex_t M
+#endif
+
 struct __STDIO_FILE_STRUCT {
 	unsigned short __modeflags;
 	/* There could be a hole here, but modeflags is used most.*/
-- 
1.7.3.4



More information about the uClibc-cvs mailing list