Re: [asterisk-dev] policy change for correct handling of fatal program conditions

SF Markus Elfring elfring at users.sourceforge.net
Tue Jan 23 05:15:47 MST 2007


>    Has anyone considered the fact that malloc() never actually fails i.e. 
> memory starvation does not cause malloc() to return error. It always returns 
> true - when you actually access the memory one will get a SIGBUS (I think) 
> and the program will die.
> 
>   This behaviour (called overcommit) is to make the UNIX fork/exec model 
> efficient. For this reason one should use calloc() because at least then the 
> failure will occur close to the allocation call in the code.

Do you refer to the Linux and FreeBSD implementation?
http://baus.net/memory-management
http://www.ussg.iu.edu/hypermail/linux/kernel/0311.3/0420.html
http://homepage.mac.com/mguthaus/tips/2005/tip050903.html


>   There have been many discussions about this quirk of malloc. The man page 
> even describes it as a bug ...

To which manual do you refer to?
Is it a similar version like this one?
http://sman.informatik.htw-dresden.de:6711/man?=malloc

Other specifications:
- http://opengroup.org/onlinepubs/009695399/functions/calloc.html
- http://docs.sun.com/app/docs/doc/816-5168/6mbb3hrgq?a=view

Regards,
Markus


More information about the asterisk-dev mailing list