• Tim Peters's avatar
    It's once again thought safe to call the pymalloc free/realloc with an · c2ce91af
    Tim Peters yazdı
    address obtained from system malloc/realloc without holding the GIL.
    
    When the vector of arena base addresses has to grow, the old vector is
    deliberately leaked.  This makes "stale" x-thread references safe.
    arenas and narenas are also declared volatile, and changed in an order
    that prevents a thread from picking up a value of narenas too large
    for the value of arenas it sees.
    
    Added more asserts.
    
    Fixed an old inaccurate comment.
    
    Added a comment explaining why it's safe to call pymalloc free/realloc
    with an address obtained from system malloc/realloc even when arenas is
    still NULL (this is obscure, since the ADDRESS_IN_RANGE macro
    appears <wink> to index into arenas).
    c2ce91af
obmalloc.c 31.9 KB