that your assessment is correct. Here is a cleaner solution (this
is based on dl_cleanup() from SVN, not the 0.9.28.3 version):
void dl_cleanup(void)
{
struct dyn_elf *d;
struct dyn_elf *n;
for (d =3D _dl_handles; d; d =3D n) {
n =3D d->next_handle;
do_dlclose(d, 1);
}
}
//Peter