#
97dc7e3b |
|
21-Mar-2024 |
Augustin Cavalier <waddlesplash@gmail.com> |
AutoDeleter: Add assertion in SetTo that the object is not the one already set. Otherwise we could cause leaks. Most of the time this check should be optimized out, as most uses of AutoDeleter don't invoke SetTo. But it would have caught some bugs in the VFS refactors (which wound up being cancelled out by later commits anyway, but this would've exposed them.) Just invoke debugger(), which calls the kernel debugger when compiled in kernel mode. And define debugger() inline in this header if OS.h is not included to avoid namespace pollution.
|
#
058b29ac |
|
09-Dec-2020 |
X512 <danger_mail@list.ru> |
AutoDeleter: introduce MethodObjectDeleter It allows to call destructor function stored in struct object such as device_manager_info::put_node. Change-Id: If9162f2f449d2b1c52c39509fa8732f21debf04a Reviewed-on: https://review.haiku-os.org/c/haiku/+/3484 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
|
#
d1ca0fcc |
|
09-Dec-2020 |
X512 <danger_mail@list.ru> |
AutoDeleter: add IsSet method Change-Id: I70eb43a288ec9c02471aa21ce5618f0fa2399bd7 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3486 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
84b1893b |
|
02-Jul-2020 |
X512 <danger_mail@list.ru> |
AutoDeleter: introduce HandleDeleter It allow to use arbitrary handle type, null value and destructor function. Change-Id: I87c444cb7ef1b08d1dbed7fe4171700171d651d2 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2977 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com> Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
|
#
76ab8567 |
|
04-Dec-2020 |
X512 <danger_mail@list.ru> |
AutoDeleter: fix AutoDeleter size C++ don't allow zero size class fields. If field with empty class field is used, it's size will be 1 byte. Create DeleteFunc instance as local variable at each use instead. Fixes #16638. Change-Id: Ifb76c45ea02e9fed014751542ee5f16f41e11d15 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3458 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
aecba913 |
|
04-Dec-2020 |
X512 <danger_mail@list.ru> |
AutoDeleter: move destructor function in MethodDeleter from constructor to template argument The same as CObjectDeleter. Change-Id: I85c4cb3635f01f13e529ca087324cc2fcb42cfc0 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3456 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
7d775e79 |
|
04-Dec-2020 |
X512 <danger_mail@list.ru> |
AutoDeleter: move destructor function in CObjectDeleter from constructor to template argument It allows to make typedef of pointer types and declaring pointers in headers. Store of destructor function pointer in CObjectDeleter is no longer needed. Change-Id: Ic629fd10b28b09f4190edf8ba6b911ca3108ab0e Reviewed-on: https://review.haiku-os.org/c/haiku/+/3455 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
8301c498 |
|
07-Jun-2020 |
X512 <danger_mail@list.ru> |
AutoDeleter: add operator [] for ArrayDeleter Change-Id: I015951053050b58e73fd71e4abb104a0755416f7 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2890 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com> Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
|
#
ec43e4f4 |
|
15-May-2020 |
X512 <danger_mail@list.ru> |
AutoDeleter: do not allow copy Change-Id: Ieab0fea46fc23c446bbaca407e3e80a4a7901896 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2704 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
b29db8eb |
|
18-Apr-2020 |
X512 <danger_mail@list.ru> |
AutoDeleter: add Get method for FileDescriptorCloser This allows to use FileDescriptorCloser as unique pointer for file descriptor. Change-Id: I4c768fafba6ed35658b2fdb075b9b547f53bc8da Reviewed-on: https://review.haiku-os.org/c/haiku/+/2495 Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
18f5cd17 |
|
09-Sep-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Explicitly denote BPrivate to avoid clashes
|
#
d046296e |
|
30-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Improve FileDescriptorCloser * Add SetTo()/Unset() methods and no-argument constructor. * Detach() returns the FD now.
|
#
5b486787 |
|
30-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Improve FileDescriptorCloser * Add SetTo()/Unset() methods and no-argument constructor. * Detach() returns the FD now.
|
#
cb7ce9a3 |
|
09-Aug-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Renamed DescriptorCloser to FileDescriptorCloser as suggested by Ingo. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37995 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d91215d3 |
|
09-Aug-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Added DescriptorCloser helper class. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37986 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b97e1292 |
|
31-Jul-2010 |
Oliver Tappe <zooey@hirschkaefer.de> |
* added operator-> for convenience git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37825 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fe00c1a5 |
|
28-Jul-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
AutoDeleter calls the destructor operator also when the object is NULL, so we need to check for that explicitly in the CObjectDeleter and MethodDeleter cases. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26673 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e378ab1c |
|
19-Apr-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added MethodDeleter class, which calls a specified method on the object when destroyed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25067 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
34cbfd39 |
|
13-Apr-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added CObjectDeleter class, which invokes a given destructor function. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24963 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2851dbad |
|
31-Jul-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Moved Referenceable.cpp to src/kits/support (private libbe API), and its header to private/shared. * Made AddReference() and CountReferences() inlines. * The registrar is now using the private Referenceable version in libbe.so. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21767 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5519ed57 |
|
06-Jul-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added AutoDeleter::Get(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21582 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f277fb63 |
|
11-Mar-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Prevent double deletion when setting to an object that is already set. * Added Unset() and Delete() methods. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11680 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ce8cfdb8 |
|
28-Sep-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Classes for scope-based auto deletion. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4838 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
18f5cd171bc62a0bf90c48f3a07a8f6e2f8b2297 |
|
09-Sep-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Explicitly denote BPrivate to avoid clashes
|
#
d046296e854527acbf177aad4478c64e5864fb1b |
|
30-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Improve FileDescriptorCloser * Add SetTo()/Unset() methods and no-argument constructor. * Detach() returns the FD now.
|
#
5b486787aac2318368f6cd3eb624eebb28e9ed94 |
|
30-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Improve FileDescriptorCloser * Add SetTo()/Unset() methods and no-argument constructor. * Detach() returns the FD now.
|
#
cb7ce9a32f228cd69fd910424a7f2b405e2e22e4 |
|
09-Aug-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Renamed DescriptorCloser to FileDescriptorCloser as suggested by Ingo. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37995 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d91215d3f1fe2b672062a1896aba55bb6ba4276c |
|
09-Aug-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Added DescriptorCloser helper class. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37986 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b97e12926cca706e70eb47adc18962853573c462 |
|
31-Jul-2010 |
Oliver Tappe <zooey@hirschkaefer.de> |
* added operator-> for convenience git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37825 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fe00c1a5ea69f75147f5f5aff87cb0d5e56349cf |
|
28-Jul-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
AutoDeleter calls the destructor operator also when the object is NULL, so we need to check for that explicitly in the CObjectDeleter and MethodDeleter cases. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26673 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e378ab1c094dd0ef8da406665ae60cc3ac03b2f0 |
|
19-Apr-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added MethodDeleter class, which calls a specified method on the object when destroyed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25067 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
34cbfd39d3e0641a1fa046d58d1facefcb41aa50 |
|
13-Apr-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added CObjectDeleter class, which invokes a given destructor function. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24963 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2851dbad53bd9d11b64ba4267c96f637d133f81c |
|
31-Jul-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Moved Referenceable.cpp to src/kits/support (private libbe API), and its header to private/shared. * Made AddReference() and CountReferences() inlines. * The registrar is now using the private Referenceable version in libbe.so. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21767 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5519ed578c03ed705a1953a820bd155ef5aac56d |
|
06-Jul-2007 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added AutoDeleter::Get(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21582 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f277fb639d41b247c93edec845641a5257290338 |
|
11-Mar-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Prevent double deletion when setting to an object that is already set. * Added Unset() and Delete() methods. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11680 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ce8cfdb8a6529c9cb7f78f87c81519a151e5c73e |
|
28-Sep-2003 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Classes for scope-based auto deletion. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4838 a95241bf-73f2-0310-859d-f6bbb57e9c96
|