From: Rich Felker Date: Tue, 20 Apr 2021 18:52:08 +0000 (-0400) Subject: remove spurious lock in popen X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=e74acd59a5c7d56ae0e64c4ffa5043da13ee896e;p=musl remove spurious lock in popen the newly allocated FILE * has not yet leaked to the application and is only visible to stdio internals until popen returns. since we do not change any fields of the structure observed by libc internals, only the pipe_pid member, locking is not necessary. --- diff --git a/src/stdio/popen.c b/src/stdio/popen.c index b53a5572..19bbe7cf 100644 --- a/src/stdio/popen.c +++ b/src/stdio/popen.c @@ -31,7 +31,6 @@ FILE *popen(const char *cmd, const char *mode) __syscall(SYS_close, p[1]); return NULL; } - FLOCK(f); e = ENOMEM; if (!posix_spawn_file_actions_init(&fa)) { @@ -43,7 +42,6 @@ FILE *popen(const char *cmd, const char *mode) if (!strchr(mode, 'e')) fcntl(p[op], F_SETFD, 0); __syscall(SYS_close, p[1-op]); - FUNLOCK(f); return f; } }