From: Denys Vlasenko Date: Mon, 20 Jun 2011 08:06:28 +0000 (+0200) Subject: libbb: use _unlocked variants of stdio I/O. X-Git-Tag: 1_19_0~54 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=06448912e6af33a1ac95f985448f83cbd39bac44;p=oweals%2Fbusybox.git libbb: use _unlocked variants of stdio I/O. Signed-off-by: Denys Vlasenko --- diff --git a/include/libbb.h b/include/libbb.h index 953bec334..963ae1e47 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