pgbench: Refactor thread portability support.

Thomas Munro <tmunro@postgresql.org>

Commit: b1d6a8f86813772b9198367a34c8ff8bff7fef9e
Author: Thomas Munro <tmunro@postgresql.org>
Date: 2021-03-10T04:44:04Z
Releases: 14.0
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

Files

PathChange+/−
src/bin/pgbench/pgbench.c modified +31 −95

Discussion