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.
Showing
- configure 39 additions, 1 deletionconfigure
- configure.in 23 additions, 1 deletionconfigure.in
- src/backend/Makefile 2 additions, 2 deletionssrc/backend/Makefile
- src/backend/bootstrap/bootstrap.c 2 additions, 1 deletionsrc/backend/bootstrap/bootstrap.c
- src/backend/catalog/namespace.c 2 additions, 1 deletionsrc/backend/catalog/namespace.c
- src/backend/commands/async.c 2 additions, 1 deletionsrc/backend/commands/async.c
- src/backend/libpq/auth.c 4 additions, 1 deletionsrc/backend/libpq/auth.c
- src/backend/libpq/pqcomm.c 2 additions, 1 deletionsrc/backend/libpq/pqcomm.c
- src/backend/port/Makefile 2 additions, 2 deletionssrc/backend/port/Makefile
- src/backend/port/posix_sema.c 357 additions, 0 deletionssrc/backend/port/posix_sema.c
- src/backend/port/sysv_sema.c 522 additions, 0 deletionssrc/backend/port/sysv_sema.c
- src/backend/port/sysv_shmem.c 400 additions, 0 deletionssrc/backend/port/sysv_shmem.c
- src/backend/postmaster/pgstat.c 2 additions, 1 deletionsrc/backend/postmaster/pgstat.c
- src/backend/postmaster/postmaster.c 7 additions, 10 deletionssrc/backend/postmaster/postmaster.c
- src/backend/storage/file/fd.c 2 additions, 1 deletionsrc/backend/storage/file/fd.c
- src/backend/storage/ipc/ipc.c 7 additions, 805 deletionssrc/backend/storage/ipc/ipc.c
- src/backend/storage/ipc/ipci.c 13 additions, 5 deletionssrc/backend/storage/ipc/ipci.c
- src/backend/storage/ipc/shmem.c 2 additions, 1 deletionsrc/backend/storage/ipc/shmem.c
- src/backend/storage/ipc/sinvaladt.c 2 additions, 1 deletionsrc/backend/storage/ipc/sinvaladt.c
- src/backend/storage/lmgr/lwlock.c 4 additions, 4 deletionssrc/backend/storage/lmgr/lwlock.c
Loading
Please register or sign in to comment