Re: [gtk-list] Re: g_malloc() aborts when enough memory is not found?
- From: Norbert Bladt <abladtn autelca ascom ch>
- To: gtk-list redhat com
- Subject: Re: [gtk-list] Re: g_malloc() aborts when enough memory is not found?
- Date: Tue, 02 Nov 1999 16:33:23 +0100
Owen Taylor wrote:
> Mikko Rantalainen <email@example.com> writes:
> > While testing exception handling of my program I noticed that when I'm
> > using g_malloc() and I'm trying to allocate more memory than it's
> > currently available g_malloc calls abort() and thus prevents me from
> > handling the problem by myself.
> > If I replace g_malloc with plain malloc everything works as expected.
> > How I can tell g_malloc not to abort if memory cannot be allocated? GLIB
> > "reference" at http://www.gtk.org/docs/glib_toc.html does not help much.
> If you need non-aborting behavior, use malloc() ;-)
> g_malloc() is basically a wrapper around malloc() that aborts
> if memory cannot be allocated.
> [ Right now, there is also the ability to add some simple checking
> into the g_malloc() with compile time options to g_malloc() -
> so you should not mix malloc() and g_free() or vice-versa.
If I really do mix it, would my application crash ?
If yes, will it depend on the system I am using ?
I have some small command-line utilities which do not use GTK.
They use malloc and I don't want them to use Glib because
they are relatively simple and I don't want to force the user
to install / compile Glib just for these tools.
However, as soon as I use GTK as the user-interface toolkit and
use some functions in these command-line utils, my
problem is, obviously, that I'll use g_malloc (from GTK)
and malloc (from my utils).
Will that cause problems ?
If yes, I'll redefine "malloc" to be "g_malloc" if I compile
these functions for use in a GTK program. If that is possible,
TIA for any help.
Norbert Bladt Payphone Management System Software Development
ascom Autelca AG
Worbstrasse 201 CH-3073 Guemligen, Switzerland
firstname.lastname@example.org VOICE: +41 31 999 6552, FAX: +41 31 999 6575
] [Thread Prev