فهرست منبع

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.)
Andreas Kling 4 سال پیش
والد
کامیت
241bbce264
3فایلهای تغییر یافته به همراه6 افزوده شده و 5 حذف شده
  1. 2 2
      Kernel/Net/LoopbackAdapter.cpp
  2. 1 1
      Kernel/Net/LoopbackAdapter.h
  3. 3 2
      Kernel/Net/NetworkingManagement.cpp

+ 2 - 2
Kernel/Net/LoopbackAdapter.cpp

@@ -11,9 +11,9 @@ namespace Kernel {
 
 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()

+ 1 - 1
Kernel/Net/LoopbackAdapter.h

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

+ 3 - 2
Kernel/Net/NetworkingManagement.cpp

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