spin.c includes pg_sema.h even if unnecessary
Hackorum builds and tests every patch posted to the lists, not only commitfest submissions. This is Hackorum's own CI rather than the PostgreSQL project's, and it is still under testing - please report anything that looks wrong.
You can run a PostgreSQL built from this patch straight from Docker, with no checkout and no build:
docker run --rm -p 5432:5432 ghcr.io/hackorum-dev/postgres-patch:t38193psql -h localhost -U postgresBuilt from patchset v1 (message #1), July 27, 2026 at 09:10 PM.
Every patchset is also pushed to a branch of our PostgreSQL fork, so you can check out the same tree CI built. Without a PostgreSQL checkout:
git clone --branch t38193_1 https://github.com/hackorum-dev/postgres.gitIn a checkout you already have, add the fork once:
git remote add hackorum https://github.com/hackorum-dev/postgres.gitthen, for this patchset and every later one:
git fetch hackorum t38193_1 && git checkout t38193_1Patchset v1 (message #1) is on t38193_1
Ouch! Sorry for the bogus subject of just-submitted mail.
I'll make another thread with the fixed subject.
====
Hello.
As in another mail just before, spin.c seems a bit strange
(without acutual harm).
spin.h doesn't include pg_sema.h when HAVE_SPINLOCKS is defined,
but spin.c always includes it even in the case. The file is
included only to use sizeof(PGSemaphore) to calcualte
SpinlockSemaSize as 0.
The codes that requires PGSempaphore is inactivated when the
symbol is defined in all other places so it seems to me that we
ought to refrain from using it there, too. The attched patch does
that.
regards,
--
Kyotaro Horiguchi
NTT Open Source Software Center
On 2018-02-15 20:11:07 +0900, Kyotaro HORIGUCHI wrote:
As in another mail just before, spin.c seems a bit strange
(without acutual harm).spin.h doesn't include pg_sema.h when HAVE_SPINLOCKS is defined,
but spin.c always includes it even in the case. The file is
included only to use sizeof(PGSemaphore) to calcualte
SpinlockSemaSize as 0.The codes that requires PGSempaphore is inactivated when the
symbol is defined in all other places so it seems to me that we
ought to refrain from using it there, too. The attched patch does
IDK, I don't quite see the point of the change here...
Greetings,
Andres Freund
At Thu, 15 Feb 2018 10:01:57 -0800, Andres Freund <andres@anarazel.de> wrote in <20180215180157.7q55aytrhif7vvzw@alap3.anarazel.de>
On 2018-02-15 20:11:07 +0900, Kyotaro HORIGUCHI wrote:
As in another mail just before, spin.c seems a bit strange
(without acutual harm).spin.h doesn't include pg_sema.h when HAVE_SPINLOCKS is defined,
but spin.c always includes it even in the case. The file is
included only to use sizeof(PGSemaphore) to calcualte
SpinlockSemaSize as 0.The codes that requires PGSempaphore is inactivated when the
symbol is defined in all other places so it seems to me that we
ought to refrain from using it there, too. The attched patch doesIDK, I don't quite see the point of the change here...
No actual gain, but I just feel it uneasy that utterly-unused
symbol is used to yield zero. From other point of view, it seems
to be inconsistency that a header file is disabled in a file, but
not disabled in another on one configuration.
regards.
--
Kyotaro Horiguchi
NTT Open Source Software Center