From cf7db2427f99d784f3d27a4036c1abf41c61db87 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Mon, 10 Sep 2018 23:04:42 -0400 Subject: [PATCH] use lighter internal stdio lock in getopt error printing the public flockfile interface is significantly heavier because it has to handle the possibility of caller returning or thread exiting while holding the lock. --- src/misc/getopt.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/misc/getopt.c b/src/misc/getopt.c index cd1f292f..7d7b1167 100644 --- a/src/misc/getopt.c +++ b/src/misc/getopt.c @@ -5,6 +5,7 @@ #include #include "libc.h" #include "locale_impl.h" +#include "stdio_impl.h" char *optarg; int optind=1, opterr=1, optopt, __optpos, __optreset=0; @@ -16,12 +17,12 @@ void __getopt_msg(const char *a, const char *b, const char *c, size_t l) { FILE *f = stderr; b = __lctrans_cur(b); - flockfile(f); + FLOCK(f); fputs(a, f)>=0 && fwrite(b, strlen(b), 1, f) && fwrite(c, 1, l, f)==l && putc('\n', f); - funlockfile(f); + FUNLOCK(f); } int getopt(int argc, char * const argv[], const char *optstring) -- 2.25.1