+2001-04-23 Peter Eisentraut <peter_e@gmx.net>
+
+ * libltdl/ltdl.c (lt_dlexit): Quit loop if only resident modules
+ are left.
+
2001-04-23 Gary V. Vaughan <gvv@techie.com>
From Albert Chin-A-Young <china@thewrittenword.com>
for (level = 1; handles; ++level)
{
lt_dlhandle cur = handles;
+ int saw_nonresident = 0;
while (cur)
{
lt_dlhandle tmp = cur;
cur = cur->next;
+ if (!LT_DLIS_RESIDENT (tmp))
+ saw_nonresident = 1;
if (!LT_DLIS_RESIDENT (tmp) && tmp->info.ref_count <= level)
{
if (lt_dlclose (tmp))
}
}
}
+ /* done if only resident modules are left */
+ if (!saw_nonresident)
+ break;
}
/* close all loaders */