Kernel: Port File to RefCounted

Since RefCounted automatically calls a method named `will_be_destoyed`
on classes that have one, so there's no need to have a custom
implementation of unref in File.
This commit is contained in:
Idan Horowitz 2021-12-29 01:23:35 +02:00 committed by Andreas Kling
parent 4a3a947df3
commit 6e2a82df13
Notes: sideshowbarker 2024-07-18 04:38:32 +09:00
3 changed files with 2 additions and 12 deletions

View File

@ -20,15 +20,6 @@ File::~File()
{
}
bool File::unref() const
{
if (deref_base())
return false;
const_cast<File&>(*this).will_be_destroyed();
delete this;
return true;
}
ErrorOr<NonnullRefPtr<OpenFileDescription>> File::open(int options)
{
auto description = OpenFileDescription::try_create(*this);

View File

@ -71,10 +71,9 @@ public:
// - Should create a Region in the Process and return it if successful.
class File
: public RefCountedBase
: public RefCounted<File>
, public Weakable<File> {
public:
virtual bool unref() const;
virtual void will_be_destroyed() { }
virtual ~File();

View File

@ -15,7 +15,7 @@ class MasterPTY;
class SlavePTY final : public TTY {
public:
virtual bool unref() const override;
bool unref() const;
virtual ~SlavePTY() override;
void on_master_write(const UserOrKernelBuffer&, size_t);