On Wed, 2010-08-11 at 14:56 -0300, Fernando Carrijo wrote:

> If I'm not mistaken, the situation Daniel relates has more to do with the 
> signal
> handler being unaware of the routine it interrupts. Thus, if during heap 
> memory
> allocation a function is preempted by a signal handler that also allocates 
> heap
> memory, the allocator could get confused and possibly corrupt its own internal
> state.

In newer glibc it's not "corrupt its internal state", it's "deadlock".
malloc takes a lock to protect internal state -> signal -> malloc tries
to take a lock it already holds -> sleep forever.

- ajax

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to