1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 19:07:35 +00:00

Kernel: Add sys$set_coredump_metadata() syscall

This can be used by applications to store information (key/value pairs)
likely useful for debugging, which will then be embedded in the coredump.
This commit is contained in:
Linus Groh 2020-12-30 15:19:57 +01:00 committed by Andreas Kling
parent 7413a7c509
commit 91332515a6
3 changed files with 34 additions and 1 deletions

View file

@ -363,6 +363,7 @@ public:
int sys$disown(ProcessID);
void* sys$allocate_tls(size_t);
int sys$prctl(int option, FlatPtr arg1, FlatPtr arg2);
int sys$set_coredump_metadata(Userspace<const Syscall::SC_set_coredump_metadata_params*>);
template<bool sockname, typename Params>
int get_sock_or_peer_name(const Params&);
@ -500,6 +501,8 @@ public:
void unblock_waiters(Thread::WaitBlocker::UnblockFlags, u8 signal = 0);
Thread::WaitBlockCondition& wait_block_condition() { return m_wait_block_condition; }
const HashMap<String, String>& coredump_metadata() const { return m_coredump_metadata; }
private:
friend class MemoryManager;
friend class Scheduler;
@ -644,6 +647,8 @@ private:
bool m_wait_for_tracer_at_next_execve { false };
Thread::WaitBlockCondition m_wait_block_condition;
HashMap<String, String> m_coredump_metadata;
};
extern InlineLinkedList<Process>* g_processes;