This article isn't so much about free-ing, but about unmapping memory. It could well be that you have an allocator that decides not to un-map free-ed memory so that it can quickly be re-used later.
That said, as per https://linux.die.net/man/3/malloc (and the article) the default implementation of free will (in some cases) unmap memory.
It is this un-mapping of memory that causes other threads to be affected. Because those threads should get a seg-fault after the unmapping if they try to access that memory.
That said, as per https://linux.die.net/man/3/malloc (and the article) the default implementation of free will (in some cases) unmap memory.
It is this un-mapping of memory that causes other threads to be affected. Because those threads should get a seg-fault after the unmapping if they try to access that memory.