Without having done nearly the analysis you have (bravo, BTW - seriously
good stuff!) my gut says, based on experience doing lots of foolish
threaded concurrency stuff, is that there's some pointer that is
desperately missing it's "volatile" decorator in its declaration, or
possibly "volatile sig_atomic_t" ...

As you found, serializing the allocator through locks is not the way to go.

Now, without spending hours myself pouring over the code like you did, I
can't possibly guess as to which declarations could use this, but I see
lots of opportunities ...


On 3/2/12 10:29 PM, Whitaker, James X. -ND wrote:
> Um... that would be bad.  Real bad.  Unlikely, I thought.  That would
> mean a bug in a freepool allocator...  most likely a missing
> mutex....  I could not imagine that kind of thing ever getting through
> a code review guantlet.  Hundreds of developers have inspected THAT
> code, right?

-- 
Dossy Shiobara         |      "He realized the fastest way to change
[email protected]     |   is to laugh at your own folly -- then you
http://panoptic.com/   |   can let go and quickly move on." (p. 70) 
  * WordPress * jQuery * MySQL * Security * Business Continuity *

Reply via email to