diff options
Diffstat (limited to 'toolchain/uClibc/patches-0.9.31/000-upstream_initialize_stdio_locking.patch')
-rw-r--r-- | toolchain/uClibc/patches-0.9.31/000-upstream_initialize_stdio_locking.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/toolchain/uClibc/patches-0.9.31/000-upstream_initialize_stdio_locking.patch b/toolchain/uClibc/patches-0.9.31/000-upstream_initialize_stdio_locking.patch new file mode 100644 index 0000000000..6a32e5d7c0 --- /dev/null +++ b/toolchain/uClibc/patches-0.9.31/000-upstream_initialize_stdio_locking.patch @@ -0,0 +1,33 @@ +From d4ede2b0a4727c1f5236dd9308f09cbf7a39761a Mon Sep 17 00:00:00 2001 +From: Timo Teräs <timo.teras@iki.fi> +Date: Tue, 13 Apr 2010 06:38:59 +0000 +Subject: linuxthreads.new: initialize stdio locking + +uClibc requires the threading library to enable locking for +stdio, or the locking is not done at all. + +Signed-off-by: Timo Teräs <timo.teras@iki.fi> +Signed-off-by: Austin Foxley <austinf@cetoncorp.com> +--- +diff --git a/libpthread/linuxthreads/pthread.c b/libpthread/linuxthreads/pthread.c +index 6ae9a10..614cad1 100644 +--- a/libpthread/linuxthreads/pthread.c ++++ b/libpthread/linuxthreads/pthread.c +@@ -613,6 +613,17 @@ static void pthread_initialize(void) + #ifdef USE_TLS + GL(dl_init_static_tls) = &__pthread_init_static_tls; + #endif ++ ++ /* uClibc-specific stdio initialization for threads. */ ++ { ++ FILE *fp; ++ _stdio_user_locking = 0; /* 2 if threading not initialized */ ++ for (fp = _stdio_openlist; fp != NULL; fp = fp->__nextopen) { ++ if (fp->__user_locking != 1) { ++ fp->__user_locking = 0; ++ } ++ } ++ } + } + + void __pthread_initialize(void) |