mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 11:57:34 +00:00
AK+Kernel: Add AK::AtomicRefCounted and use everywhere in the kernel
Instead of having two separate implementations of AK::RefCounted, one for userspace and one for kernelspace, there is now RefCounted and AtomicRefCounted.
This commit is contained in:
parent
4889eb019a
commit
e475263113
45 changed files with 81 additions and 94 deletions
|
@ -8,7 +8,7 @@
|
|||
|
||||
#include <AK/Assertions.h>
|
||||
#include <AK/Atomic.h>
|
||||
#include <AK/RefCounted.h>
|
||||
#include <AK/AtomicRefCounted.h>
|
||||
#include <AK/RefPtr.h>
|
||||
#include <AK/StdLibExtras.h>
|
||||
#include <Kernel/Arch/Processor.h>
|
||||
|
@ -21,7 +21,7 @@ class Weakable;
|
|||
template<typename T>
|
||||
class WeakPtr;
|
||||
|
||||
class WeakLink : public RefCounted<WeakLink> {
|
||||
class WeakLink final : public AtomicRefCounted<WeakLink> {
|
||||
template<typename T>
|
||||
friend class Weakable;
|
||||
template<typename T>
|
||||
|
@ -30,7 +30,7 @@ class WeakLink : public RefCounted<WeakLink> {
|
|||
public:
|
||||
template<typename T, typename PtrTraits = RefPtrTraits<T>>
|
||||
RefPtr<T, PtrTraits> strong_ref() const
|
||||
requires(IsBaseOf<RefCountedBase, T>)
|
||||
requires(IsBaseOf<AtomicRefCountedBase, T>)
|
||||
{
|
||||
RefPtr<T, PtrTraits> ref;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue