Преглед на файлове

fix non-atomicity of puts

Rich Felker преди 14 години
родител
ревизия
8ae2fa6563
променени са 1 файла, в които са добавени 5 реда и са изтрити 1 реда
  1. 5 1
      src/stdio/puts.c

+ 5 - 1
src/stdio/puts.c

@@ -2,5 +2,9 @@
 
 int puts(const char *s)
 {
-	return -(fputs(s, stdout) < 0 || putchar('\n') < 0);
+	int r;
+	FLOCK(stdout);
+	r = -(fputs(s, stdout) < 0 || putchar('\n') < 0);
+	FUNLOCK(stdout);
+	return r;
 }