Create an internal semaphore API that is not tied to SysV semaphores.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 72a3902a664c7fbceb2034e28e444b28f96fa717
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2002-05-05T00:03:29Z
Releases: 7.3.1
Create an internal semaphore API that is not tied to SysV semaphores.
As proof of concept, provide an alternate implementation based on POSIX
semaphores.  Also push the SysV shared-memory implementation into a
separate file so that it can be replaced conveniently.

Files

PathChange+/−
configure modified +39 −1
configure.in modified +23 −1
src/backend/bootstrap/bootstrap.c modified +2 −1
src/backend/catalog/namespace.c modified +2 −1
src/backend/commands/async.c modified +2 −1
src/backend/libpq/auth.c modified +4 −1
src/backend/libpq/pqcomm.c modified +2 −1
src/backend/Makefile modified +2 −2
src/backend/port/Makefile modified +2 −2
src/backend/port/posix_sema.c added +357 −0
src/backend/port/sysv_sema.c added +522 −0
src/backend/port/sysv_shmem.c added +400 −0
src/backend/postmaster/pgstat.c modified +2 −1
src/backend/postmaster/postmaster.c modified +7 −10
src/backend/storage/file/fd.c modified +2 −1
src/backend/storage/ipc/ipc.c modified +7 −805
src/backend/storage/ipc/ipci.c modified +13 −5
src/backend/storage/ipc/shmem.c modified +2 −1
src/backend/storage/ipc/sinvaladt.c modified +2 −1
src/backend/storage/lmgr/lwlock.c modified +4 −4
src/backend/storage/lmgr/proc.c modified +62 −234
src/backend/storage/lmgr/spin.c modified +24 −119
src/backend/tcop/postgres.c modified +4 −3
src/backend/utils/error/elog.c modified +2 −1
src/backend/utils/init/miscinit.c modified +13 −13
src/backend/utils/init/postinit.c modified +3 −2
src/include/miscadmin.h modified +5 −4
src/include/pg_config.h.in modified +10 −1
src/include/storage/ipc.h modified +7 −64
src/include/storage/pg_sema.h added +76 −0
src/include/storage/pg_shmem.h added +44 −0
src/include/storage/proc.h modified +4 −45
src/include/storage/s_lock.h modified +4 −11
src/include/storage/spin.h modified +2 −2
src/pl/plperl/plperl.c modified +1 −17
src/pl/plperl/SPI.xs modified +0 −16
src/template/darwin modified +3 −0