• Robert Haas's avatar
    Add a crude facility for dealing with relative pointers. · fbc1c12a
    Robert Haas authored
    C doesn't have any sort of built-in understanding of a pointer
    relative to some arbitrary base address, but dynamic shared memory
    segments can be mapped at different addresses in different processes,
    so any sort of shared data structure stored within a dynamic shared
    memory segment can't use absolute pointers.  We could use something
    like Size to represent a relative pointer, but then the compiler
    provides no type-checking.  Use stupid macro tricks to get some
    type-checking.
    
    Patch originally by me.  Concept suggested by Andres Freund.  Recently
    resubmitted as part of Thomas Munro's work on dynamic shared memory
    allocation.
    
    Discussion: 20131205144434.GG12398@alap2.anarazel.de
    Discussion: CAEepm=1z5WLuNoJ80PaCvz6EtG9dN0j-KuHcHtU6QEfcPP5-qA@mail.gmail.com
    fbc1c12a
relptr.h 2.48 KB