Explorar el Código

Use read_all() to read messages from spawn_background

Using read() is an invitation to get some of the data you want, not all.

Possible fix for bug 2462
Nick Mathewson hace 13 años
padre
commit
d8cb4f9f0c
Se han modificado 1 ficheros con 2 adiciones y 2 borrados
  1. 2 2
      src/test/test_util.c

+ 2 - 2
src/test/test_util.c

@@ -1367,7 +1367,7 @@ run_util_spawn_background(const char *argv[], const char *expected_out,
   pid = retval;
 
   /* Check stdout */
-  pos = read(stdout_pipe, stdout_buf, sizeof(stdout_buf) - 1);
+  pos = read_all(stdout_pipe, stdout_buf, sizeof(stdout_buf) - 1, 0);
   stdout_buf[pos] = '\0';
   tt_int_op(pos, ==, strlen(expected_out));
   tt_str_op(stdout_buf, ==, expected_out);
@@ -1381,7 +1381,7 @@ run_util_spawn_background(const char *argv[], const char *expected_out,
   tt_assert(!WIFSTOPPED(stat_loc));
 
   /* Check stderr */
-  pos = read(stderr_pipe, stderr_buf, sizeof(stderr_buf) - 1);
+  pos = read_all(stderr_pipe, stderr_buf, sizeof(stderr_buf) - 1, 0);
   stderr_buf[pos] = '\0';
   tt_int_op(pos, ==, strlen(expected_err));
   tt_str_op(stderr_buf, ==, expected_err);