Gregory Stark <stark@xxxxxxxxxxxxxxxx> writes: > "Trevor Talbot" <quension@xxxxxxxxx> writes: >> I gather postgres depends on it being at the same address, and fixing that >> isn't trivial? > I haven't been following the rest of the thread so I'm not sure if this is > important. But no, fixing that should be relatively trivial as there are > already some configurations where it's not the case (the EXEC_BACKEND case I > believe). The rest of the system uses a shared memory base pointer and > references everything relative to that. That hasn't been the case for quite a few years, and we're not going back. The pointer-to-offset-and-back gymnastics that that required were utterly destructive to code readability and maintainability, mainly because if everything stored in shmem data structures is an "offset" then you can't get any useful error checking from the compiler about how you are using the fields. It's like decreeing that every pointer must be declared "void *" and cast to something else when it's used. There are a few old bits of code that still use MAKE_PTR/MAKE_OFFSET, but I think it's mostly just that no one's bothered to rewrite the code for SHM_QUEUE linked lists. The vast majority of our shmem structures use regular pointers, and have for years. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@xxxxxxxxxxxxxx so that your message can get through to the mailing list cleanly