[git commit] libbb: use _unlocked variants of stdio I/O.

Denys Vlasenko vda.linux at googlemail.com
Mon Jun 20 08:06:28 UTC 2011


commit: http://git.busybox.net/busybox/commit/?id=06448912e6af33a1ac95f985448f83cbd39bac44
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 include/libbb.h |   38 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/include/libbb.h b/include/libbb.h
index 953bec3..963ae1e 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -160,6 +160,44 @@ int sysinfo(struct sysinfo* info);
 #endif
 
 
+/* Busybox does not use threads, we can speed up stdio.
+ * But don't define foo to foo_unlocked if foo_unlocked
+ * is a macro (it might be defined back to foo!).
+ */
+#ifndef getc_unlocked
+# undef  getc
+# define getc(stream) getc_unlocked(stream)
+#endif
+#ifndef getchar_unlocked
+# undef  getchar
+# define getchar() getchar_unlocked()
+#endif
+#ifndef putc_unlocked
+# undef  putc
+# define putc(c, stream) putc_unlocked(c, stream)
+#endif
+#ifndef putchar_unlocked
+# undef  putchar
+# define putchar(c) putchar_unlocked(c)
+#endif
+#ifndef fgetc_unlocked
+# undef  fgetc
+# define fgetc(stream) fgetc_unlocked(stream)
+#endif
+#ifndef fputc_unlocked
+# undef  fputc
+# define fputc(c, stream) fputc_unlocked(c, stream)
+#endif
+#ifndef fgets_unlocked
+# undef  fgets
+# define fgets(s, n, stream) fgets_unlocked(s, n, stream)
+#endif
+#ifndef fputs_unlocked
+# undef  fputs
+# define fputs(s, stream) fputs_unlocked(s, stream)
+#endif
+
+
 /* Make all declarations hidden (-fvisibility flag only affects definitions) */
 /* (don't include system headers after this until corresponding pop!) */
 PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN
-- 
1.7.3.4



More information about the busybox-cvs mailing list