* Use a singly linked list for the deferred free entries.

* Added deferred_delete() that takes a DeferredDeletable and deletes it
  asynchronously.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28285 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2008-10-22 14:46:20 +00:00
parent 63a9f18f31
commit 412319e8eb
2 changed files with 42 additions and 5 deletions
+13
View File
@@ -75,6 +75,9 @@ status_t heap_init_post_thread();
#include <new>
#include <util/SinglyLinkedList.h>
static const struct nogrow_t {
} nogrow = {};
@@ -84,6 +87,16 @@ operator new(size_t size, const nogrow_t& nogrow) throw()
return malloc_nogrow(size);
}
class DeferredDeletable : public SinglyLinkedListLinkImpl<DeferredDeletable> {
public:
virtual ~DeferredDeletable();
};
void deferred_delete(DeferredDeletable* deletable);
#endif /* __cplusplus */