From: Rich Felker Date: Tue, 11 Sep 2018 03:04:42 +0000 (-0400) Subject: use lighter internal stdio lock in getopt error printing X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=cf7db2427f99d784f3d27a4036c1abf41c61db87;p=musl 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. --- 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)