diff options
| author | bunnei <bunneidev@gmail.com> | 2018-08-30 10:02:50 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-08-30 10:02:50 -0400 |
| commit | 5094dfa081c7275e35496374a42996b11f0f6005 (patch) | |
| tree | 8cdfb8c270c6299a1b172fb9c14856684bedf084 /src/core/hle/kernel/object.h | |
| parent | 42ef40884f222bfd0dfa08cd56e01e89b0e2ab0f (diff) | |
| parent | 0cbcd6ec9aeeafc298fe2e6e4ac10d68bb7267c5 (diff) | |
Merge pull request #1198 from lioncash/kernel
kernel: Eliminate kernel global state
Diffstat (limited to 'src/core/hle/kernel/object.h')
| -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 |
