mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-30 04:44:16 +02:00
Add configure test for garbage collector friendliness for GLib. If
2000-04-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de> * configure.in, acconfig.h: Add configure test for garbage collector friendliness for GLib. If enabled, ENABLE_GC_FRIENDLY will be defined. * garray.c, ghash.c, glist.c, gmain.c, gmem.c, gnode.c, gqueue.c, gslist.c, gtree.c: If ENABLE_GC_FRIENDLY is defined, NULLify all memory released by the user, but cached by GLib. This lets a garbage collector have a more correct view of the actually used memory.
This commit is contained in:
committed by
Sebastian Wilhelmi
parent
03f9d485c1
commit
8c90d7766b
10
gnode.c
10
gnode.c
@@ -82,7 +82,7 @@ void
|
||||
g_node_push_allocator (GAllocator *allocator)
|
||||
{
|
||||
G_LOCK (current_allocator);
|
||||
g_node_validate_allocator ( allocator );
|
||||
g_node_validate_allocator (allocator);
|
||||
allocator->last = current_allocator;
|
||||
current_allocator = allocator;
|
||||
G_UNLOCK (current_allocator);
|
||||
@@ -148,6 +148,14 @@ g_nodes_free (GNode *node)
|
||||
{
|
||||
if (parent->children)
|
||||
g_nodes_free (parent->children);
|
||||
|
||||
#ifdef ENABLE_GC_FRIENDLY
|
||||
parent->data = NULL;
|
||||
parent->prev = NULL;
|
||||
parent->parent = NULL;
|
||||
parent->children = NULL;
|
||||
#endif /* ENABLE_GC_FRIENDLY */
|
||||
|
||||
if (parent->next)
|
||||
parent = parent->next;
|
||||
else
|
||||
|
Reference in New Issue
Block a user