From 73bcb76b77c2e47dd066a1961309cf950cf19412 Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Thu, 19 Dec 2013 17:26:27 -0300 Subject: [PATCH] Make stdout unbuffered This ensures that all stdout output is flushed immediately, to match stderr. This eliminates the need for fflush(stdout) calls sprinkled all over the place. Per Daniel Wood in message 519A79C6.90308@salesforce.com --- src/test/isolation/isolationtester.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/test/isolation/isolationtester.c b/src/test/isolation/isolationtester.c index 3ab2971c22..8dc0f66637 100644 --- a/src/test/isolation/isolationtester.c +++ b/src/test/isolation/isolationtester.c @@ -70,8 +70,6 @@ exit_nicely(void) for (i = 0; i < nconns; i++) PQfinish(conns[i]); - fflush(stderr); - fflush(stdout); exit(1); } @@ -101,6 +99,9 @@ main(int argc, char **argv) } } + /* make stdout unbuffered to match stderr */ + setbuf(stdout, NULL); + /* * If the user supplies a non-option parameter on the command line, use it * as the conninfo string; otherwise default to setting dbname=postgres @@ -288,8 +289,6 @@ main(int argc, char **argv) /* Clean up and exit */ for (i = 0; i < nconns; i++) PQfinish(conns[i]); - fflush(stderr); - fflush(stdout); return 0; } @@ -574,9 +573,7 @@ run_permutation(TestSpec * testspec, int nsteps, Step ** steps) * but it can only be unblocked by running steps from other * sessions. */ - fflush(stdout); fprintf(stderr, "invalid permutation detected\n"); - fflush(stderr); /* Cancel the waiting statement from this session. */ cancel = PQgetCancel(conn); @@ -664,7 +661,6 @@ teardown: testspec->sessions[i]->name, PQerrorMessage(conns[i + 1])); /* don't exit on teardown failure */ - fflush(stderr); } PQclear(res); } @@ -683,7 +679,6 @@ teardown: fprintf(stderr, "teardown failed: %s", PQerrorMessage(conns[0])); /* don't exit on teardown failure */ - fflush(stderr); } PQclear(res); }