mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-11 13:36:13 +03:00
Kernel: Make NNRP<PhysicalPage const> possible
This wasn't possible before as ref() and unref() were non-const.
This commit is contained in:
parent
e08c55dd8d
commit
8bf248a046
Notes:
sideshowbarker
2024-07-16 23:57:22 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/8bf248a046 Pull-request: https://github.com/SerenityOS/serenity/pull/17557 Reviewed-by: https://github.com/linusg
@ -26,7 +26,7 @@ PhysicalAddress PhysicalPage::paddr() const
|
||||
return MM.get_physical_address(*this);
|
||||
}
|
||||
|
||||
void PhysicalPage::free_this()
|
||||
void PhysicalPage::free_this() const
|
||||
{
|
||||
auto paddr = MM.get_physical_address(*this);
|
||||
if (m_may_return_to_freelist == MayReturnToFreeList::Yes) {
|
||||
|
@ -25,12 +25,12 @@ class PhysicalPage {
|
||||
public:
|
||||
PhysicalAddress paddr() const;
|
||||
|
||||
void ref()
|
||||
void ref() const
|
||||
{
|
||||
m_ref_count.fetch_add(1, AK::memory_order_relaxed);
|
||||
}
|
||||
|
||||
void unref()
|
||||
void unref() const
|
||||
{
|
||||
if (m_ref_count.fetch_sub(1, AK::memory_order_acq_rel) == 1)
|
||||
free_this();
|
||||
@ -47,9 +47,9 @@ private:
|
||||
explicit PhysicalPage(MayReturnToFreeList may_return_to_freelist);
|
||||
~PhysicalPage() = default;
|
||||
|
||||
void free_this();
|
||||
void free_this() const;
|
||||
|
||||
Atomic<u32> m_ref_count { 1 };
|
||||
mutable Atomic<u32> m_ref_count { 1 };
|
||||
MayReturnToFreeList m_may_return_to_freelist { MayReturnToFreeList::Yes };
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user