Sfoglia il codice sorgente

Kernel: Move NetworkTask startup into NetworkTask::spawn()

Andreas Kling 5 anni fa
parent
commit
f25d2f5518
3 ha cambiato i file con 15 aggiunte e 7 eliminazioni
  1. 9 0
      Kernel/Net/NetworkTask.cpp
  2. 4 3
      Kernel/Net/NetworkTask.h
  3. 2 4
      Kernel/init.cpp

+ 9 - 0
Kernel/Net/NetworkTask.cpp

@@ -32,6 +32,7 @@
 #include <Kernel/Net/IPv4.h>
 #include <Kernel/Net/IPv4Socket.h>
 #include <Kernel/Net/LoopbackAdapter.h>
+#include <Kernel/Net/NetworkTask.h>
 #include <Kernel/Net/Routing.h>
 #include <Kernel/Net/TCP.h>
 #include <Kernel/Net/TCPSocket.h>
@@ -56,6 +57,14 @@ static void handle_icmp(const EthernetFrameHeader&, const IPv4Packet&);
 static void handle_udp(const IPv4Packet&);
 static void handle_tcp(const IPv4Packet&);
 
+[[noreturn]] static void NetworkTask_main();
+
+void NetworkTask::spawn()
+{
+    Thread* thread = nullptr;
+    Process::create_kernel_process(thread, "NetworkTask", NetworkTask_main);
+}
+
 void NetworkTask_main()
 {
     WaitQueue packet_wait_queue;

+ 4 - 3
Kernel/Net/NetworkTask.h

@@ -27,7 +27,8 @@
 #pragma once
 
 namespace Kernel {
-
-void NetworkTask_main();
-
+class NetworkTask {
+public:
+    static void spawn();
+};
 }

+ 2 - 4
Kernel/init.cpp

@@ -318,10 +318,8 @@ void init_stage2()
         }
         thread->set_priority(THREAD_PRIORITY_HIGH);
     }
-    {
-        Thread* thread = nullptr;
-        Process::create_kernel_process(thread, "NetworkTask", NetworkTask_main);
-    }
+
+    NetworkTask::spawn();
 
     Process::current->sys$exit(0);
     ASSERT_NOT_REACHED();