pgbench: Refactor thread portability support.
authorThomas Munro <tmunro@postgresql.org>
Wed, 10 Mar 2021 02:39:08 +0000 (15:39 +1300)
committerThomas Munro <tmunro@postgresql.org>
Wed, 10 Mar 2021 04:44:04 +0000 (17:44 +1300)
commitb1d6a8f86813772b9198367a34c8ff8bff7fef9e
tree6330219b1d1fc1f5f9992f1d47756d7c4a94e9ef
parente4e87a32cc5559303068b148bd4aa6a39b8f44a1
pgbench: Refactor thread portability support.

Instead of maintaining an incomplete emulation of POSIX threads for
Windows, let's use an extremely minimalist macro-based abstraction for
now.  A later patch will extend this, without the need to supply more
complicated pthread emulation code.  (There may be a need for a more
serious portable thread abstraction in later projects, but this is not
it.)

Minor incidental problems fixed: it wasn't OK to use (pthread_t) 0 as a
special value, it wasn't OK to compare thread_t values with ==, and we
incorrectly assumed that pthread functions set errno.

Discussion: https://postgr.es/m/20200227180100.zyvjwzcpiokfsqm2%40alap3.anarazel.de
src/bin/pgbench/pgbench.c