fix popen not to leak pipes from one child to another
[musl] / src / stdio / stderr.c
index 9a70700..f2bc464 100644 (file)
@@ -1,7 +1,9 @@
 #include "stdio_impl.h"
 
+#undef stderr
+
 static unsigned char buf[UNGET];
-static FILE f = {
+hidden FILE __stderr_FILE = {
        .buf = buf+UNGET,
        .buf_size = 0,
        .fd = 2,
@@ -10,5 +12,7 @@ static FILE f = {
        .write = __stdio_write,
        .seek = __stdio_seek,
        .close = __stdio_close,
+       .lock = -1,
 };
-FILE *const stderr = &f;
+FILE *const stderr = &__stderr_FILE;
+FILE *volatile __stderr_used = &__stderr_FILE;