On Sat, Mar 13, 2021 at 9:08 PM Fabien COELHO <coe...@cri.ensmp.fr> wrote:
> I must say that I'm not a big fan of the macro-based all-in-capitals API
> for threads because it exposes some platform specific uglyness (eg
> THREAD_FUNC_CC) and it does not look much like clean C code when used. I
> liked the previous partial pthread implementation better, even if it was
> not the real thing, obviously.

But we were using macros already, to support --disable-thread-safety
builds.  I just changed them to upper case and dropped the 'p',
because I didn't like to pretend to do POSIX threads, but do it so
badly.  Perhaps we should drop --disable-thread-safety soon, and
perhaps it is nearly time to create a good thread abstraction in clean
C code, for use in the server and here?  Then we won't need any ugly
macros.

> ISTM that with the current approach threads are always used on Windows,
> i.e. pgbench does not comply to "ENABLE_THREAD_SAFETY" configuration on
> that platform. Not sure whether this is an issue that need to be
> addressed, though.

The idea of that option, as I understand it, is that in ancient times
there were Unix systems with no threads (that's of course the reason
PostgreSQL is the way it is).  I don't think that was ever the case
for Windows NT, and we have no build option for that on Windows
AFAICS.


Reply via email to