1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 18:17:34 +00:00

Kernel: LoopbackAdapter::create() => try_create()

Allow this to fail (although we VERIFY that it succeeds during boot
for now, since we don't want to boot without a loopback adapter.)
This commit is contained in:
Andreas Kling 2021-07-11 18:00:31 +02:00
parent e4dfb0fdf3
commit 241bbce264
3 changed files with 6 additions and 5 deletions

View file

@ -11,9 +11,9 @@ namespace Kernel {
static bool s_loopback_initialized = false; static bool s_loopback_initialized = false;
NonnullRefPtr<LoopbackAdapter> LoopbackAdapter::create() RefPtr<LoopbackAdapter> LoopbackAdapter::try_create()
{ {
return adopt_ref(*new LoopbackAdapter()); return adopt_ref_if_nonnull(new LoopbackAdapter());
} }
LoopbackAdapter::LoopbackAdapter() LoopbackAdapter::LoopbackAdapter()

View file

@ -17,7 +17,7 @@ private:
LoopbackAdapter(); LoopbackAdapter();
public: public:
static NonnullRefPtr<LoopbackAdapter> create(); static RefPtr<LoopbackAdapter> try_create();
virtual ~LoopbackAdapter() override; virtual ~LoopbackAdapter() override;
virtual void send_raw(ReadonlyBytes) override; virtual void send_raw(ReadonlyBytes) override;

View file

@ -101,8 +101,9 @@ bool NetworkingManagement::initialize()
m_adapters.append(adapter.release_nonnull()); m_adapters.append(adapter.release_nonnull());
}); });
} }
auto loopback = LoopbackAdapter::create(); auto loopback = LoopbackAdapter::try_create();
m_adapters.append(loopback); VERIFY(loopback);
m_adapters.append(*loopback);
m_loopback_adapter = loopback; m_loopback_adapter = loopback;
return true; return true;
} }