On 04/09/2006, at 10:51 AM, Ivan Voras wrote:

Stefan Bethke wrote:

mail in malloc(): warning: recursive call
Cosmic rays? Anything I could try to find the cause?

I know what it is, but you won't going to like it. As far as I
understand this happens when a process gets a signal in the middle of
using malloc(), and the signal handler also uses malloc(). The solution
would be not to use malloc() in a signal handler, but this is tricky
since unknown code can use malloc() (e.g. printf()?).


It's not tricky. man sigaction documents the functions that are async- signal safe. Anything not listed there (such as printf) and you're on your own.

There's some FreeBSD extensions, but most of this list is specified by the ANSI C standard, or POSIX standards.

This appears to be "undefined" by standards, but GNU libc allows it
because it makes sense, while phkmalloc dissallows it, causing (me)
considerable problems with certain applications. I hope jemalloc is
better in this respect :)

I don't know how it happened in mail(1) if mail(1) is the FreeBSD version.

_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable- [EMAIL PROTECTED]"


_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to