]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
pgbench: Fix handling of socket errors during benchmark.
authorFujii Masao <fujii@postgresql.org>
Wed, 29 Sep 2021 12:01:10 +0000 (21:01 +0900)
committerFujii Masao <fujii@postgresql.org>
Wed, 29 Sep 2021 12:49:36 +0000 (21:49 +0900)
Previously socket errors such as invalid socket or socket wait method failures
during benchmark caused pgbench to exit with status 0. Instead, errors during
the run should result in exit status 2.

Back-patch to v12 where pgbench started reporting exit status.

Original complaint and patch by Hayato Kuroda.

Author: Yugo Nagata, Fabien COELHO
Reviewed-by: Kyotaro Horiguchi, Fujii Masao
Discussion: https://postgr.es/m/TYCPR01MB5870057375ACA8A73099C649F5349@TYCPR01MB5870.jpnprd01.prod.outlook.com

src/bin/pgbench/pgbench.c

index 156348acfd7c9c2c1883d7819f623f3a1ecc2123..bf5b8b7d3effa7855c9ede3d0afd7f9591c6f06d 100644 (file)
@@ -6199,7 +6199,7 @@ main(int argc, char **argv)
 #endif                                                 /* ENABLE_THREAD_SAFETY */
 
                for (int j = 0; j < thread->nstate; j++)
-                       if (thread->state[j].state == CSTATE_ABORTED)
+                       if (thread->state[j].state != CSTATE_FINISHED)
                                exit_code = 2;
 
                /* aggregate thread level stats */