Improve shm_mq portability around MAXIMUM_ALIGNOF and sizeof(Size).
Robert Haas <rhaas@postgresql.org>
Improve shm_mq portability around MAXIMUM_ALIGNOF and sizeof(Size). Revise the original decision to expose a uint64-based interface and use Size everywhere possible. Avoid assuming that MAXIMUM_ALIGNOF is 8, or making any assumption about the relationship between that value and sizeof(Size). If MAXIMUM_ALIGNOF is bigger, we'll now insert padding after the length word; if it's smaller, we are now prepared to read and write the length word in chunks. Per discussion with Tom Lane.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/storage/ipc/shm_mq.c | modified | +152 −99 |
| src/include/storage/shm_mq.h | modified | +2 −2 |