Index: sid/component/cfgroot/libltdl/ltdl.c =================================================================== RCS file: /cvs/src/src/sid/component/cfgroot/libltdl/ltdl.c,v retrieving revision 1.3 diff -c -p -r1.3 ltdl.c *** sid/component/cfgroot/libltdl/ltdl.c 4 Jun 2005 03:23:01 -0000 1.3 --- sid/component/cfgroot/libltdl/ltdl.c 17 Jan 2007 21:13:53 -0000 *************** *** 1,5 **** /* ltdl.c -- system independent dlopen wrapper ! Copyright (C) 1998, 1999, 2000, 2004 Free Software Foundation, Inc. Originally by Thomas Tanner This file is part of GNU Libtool. --- 1,5 ---- /* ltdl.c -- system independent dlopen wrapper ! Copyright (C) 1998, 1999, 2000, 2004, 2007 Free Software Foundation, Inc. Originally by Thomas Tanner This file is part of GNU Libtool. *************** lt_dlexit () *** 2330,2335 **** --- 2330,2344 ---- ++errors; } } + /* Make sure that the handle pointed to by 'cur' still exists. + lt_dlclose recursively closes dependent libraries which removes + them from the linked list. One of these might be the one + pointed to by 'cur'. */ + for (tmp = handles; tmp; tmp = tmp->next) + if (tmp == cur) + break; + if (! tmp) + cur = handles; } /* done if only resident modules are left */ if (!saw_nonresident)