Преглед изворни кода

Kernel: Copy signal handlers when forking

Tim Schumacher пре 3 година
родитељ
комит
67f352b824
1 измењених фајлова са 6 додато и 0 уклоњено
  1. 6 0
      Kernel/Process.cpp

+ 6 - 0
Kernel/Process.cpp

@@ -273,6 +273,12 @@ ErrorOr<void> Process::attach_resources(NonnullOwnPtr<Memory::AddressSpace>&& pr
 
     auto weak_ptr = TRY(this->try_make_weak_ptr());
     m_procfs_traits = TRY(ProcessProcFSTraits::try_create({}, move(weak_ptr)));
+
+    // This is not actually explicitly verified by any official documentation,
+    // but it's not listed anywhere as being cleared, and rsync expects it to work like this.
+    if (fork_parent)
+        m_signal_action_data = fork_parent->m_signal_action_data;
+
     return {};
 }