diff options
author | bunnei <bunneidev@gmail.com> | 2018-08-30 16:02:50 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-30 16:02:50 +0200 |
commit | 5094dfa081c7275e35496374a42996b11f0f6005 (patch) | |
tree | 8cdfb8c270c6299a1b172fb9c14856684bedf084 /src/core/hle/kernel/object.h | |
parent | Merge pull request #1202 from FearlessTobi/port-3825 (diff) | |
parent | kernel: Eliminate kernel global state (diff) | |
download | yuzu-5094dfa081c7275e35496374a42996b11f0f6005.tar yuzu-5094dfa081c7275e35496374a42996b11f0f6005.tar.gz yuzu-5094dfa081c7275e35496374a42996b11f0f6005.tar.bz2 yuzu-5094dfa081c7275e35496374a42996b11f0f6005.tar.lz yuzu-5094dfa081c7275e35496374a42996b11f0f6005.tar.xz yuzu-5094dfa081c7275e35496374a42996b11f0f6005.tar.zst yuzu-5094dfa081c7275e35496374a42996b11f0f6005.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/kernel/object.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/core/hle/kernel/object.h b/src/core/hle/kernel/object.h index 526ac9cc3..b054cbf7d 100644 --- a/src/core/hle/kernel/object.h +++ b/src/core/hle/kernel/object.h @@ -14,6 +14,8 @@ namespace Kernel { +class KernelCore; + using Handle = u32; enum class HandleType : u32 { @@ -40,6 +42,7 @@ enum class ResetType { class Object : NonCopyable { public: + explicit Object(KernelCore& kernel); virtual ~Object(); /// Returns a unique identifier for the object. For debugging purposes only. @@ -61,15 +64,16 @@ public: */ bool IsWaitable() const; -public: - static std::atomic<u32> next_object_id; +protected: + /// The kernel instance this object was created under. + KernelCore& kernel; private: friend void intrusive_ptr_add_ref(Object*); friend void intrusive_ptr_release(Object*); std::atomic<u32> ref_count{0}; - std::atomic<u32> object_id{next_object_id++}; + std::atomic<u32> object_id{0}; }; // Special functions used by boost::instrusive_ptr to do automatic ref-counting |