Yeah, we could switch the archive cache over to using weak pointers and that 
should solve the issue.

Greg

On Nov 22, 2013, at 9:20 AM, [email protected] wrote:

> That's a bug.  The archives need to track what modules they came from and 
> release themselves when there are no more modules referencing them.
> 
> Jim
> 
> On Nov 22, 2013, at 9:06 AM, Carlo Kok <[email protected]> wrote:
> 
>> On Fri, 22 Nov 2013 17:28:25 +0100, <[email protected]> wrote:
>> 
>>> Did you try "target delete <Target that loaded .a file>"?
>>> 
>>> That should clear all the modules held onto by that target.  "target list" 
>>> will show you all the currently open targets.
>> 
>> 
>> I did, doesn't seem to do much for bsd .a files. This does work though:
>> 
>> #include "Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h"
>> 
>> class MyBSDStuff : private ObjectContainerBSDArchive {
>> public:
>> static void ClearCache() {
>>   Mutex::Locker locker(Archive::GetArchiveCacheMutex());
>>   Archive::Map &archive_map = Archive::GetArchiveCache();
>>   archive_map.clear();
>> }
>> };
>> 
>> 
>> 
>> MyBSDStuff::ClearCache();
>> 
>> which I know is a terrible hack, but I didn't see it anywhere else exposed.
>> 
>> -- 
>> Carlo Kok
>> RemObjects Software
> 
> _______________________________________________
> lldb-dev mailing list
> [email protected]
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to