Date: Thu, 24 Jul 2003 13:27:38 -0400 From: Jason Andresen <jandrese@mitre.org> To: freebsd-stable@freebsd.org Subject: Re: malloc does not return null when out of memory Message-ID: <3F20170A.8080408@mitre.org> In-Reply-To: <20030724164522.GA39964@pit.databus.com> References: <20030723173427.GA72876@vmunix.com> <20030723173427.GA72876@vmunix.com> <5.2.0.9.0.20030723234250.052821e8@192.168.0.12> <20030724070936.GA16762@rot13.obsecurity.org> <3F1FF81F.5050701@mac.com> <20030724164522.GA39964@pit.databus.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Barney Wolff wrote: > On Thu, Jul 24, 2003 at 11:15:43AM -0400, Chuck Swiger wrote: > >>+/* write a single byte per page to disable overcommit behavior */ >>+static int malloc_overcommit; > > > Won't this merely die in malloc, not return 0? > I don't think that's the behavior the original poster was looking for. > The wanted behavior would be fairly expensive to achieve, especially > on an smp machine. The upshot seem to be that it is impossible to write a program that handles out-of-memory errors gracefully with this scheme. Even if you check all of your return values and configure exit paths for failed mallocs, your program is still going to crash and die in a random location without warning when memory fills up. -- \ |_ _|__ __|_ \ __| Jason Andresen jandrese@mitre.org |\/ | | | / _| Network and Distributed Systems Engineer _| _|___| _| _|_\___| Office: 703-883-7755
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3F20170A.8080408>