mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 11:37:34 +00:00
strace: Add support for pretty-printing the kill syscall
This commit is contained in:
parent
c55b4d49a3
commit
beca73e0fd
1 changed files with 13 additions and 0 deletions
|
@ -701,6 +701,16 @@ static void format_dbgputstr(FormattedSyscallBuilder& builder, char* characters,
|
|||
builder.add_argument(StringArgument { { characters, size }, "\0\n"sv });
|
||||
}
|
||||
|
||||
static void format_kill(FormattedSyscallBuilder& builder, pid_t pid_or_pgid, int signal)
|
||||
{
|
||||
builder.add_argument(pid_or_pgid);
|
||||
auto* signal_name = getsignalname(signal);
|
||||
if (signal_name)
|
||||
builder.add_argument(signal_name);
|
||||
else
|
||||
builder.add_argument(signal);
|
||||
}
|
||||
|
||||
static ErrorOr<void> format_syscall(FormattedSyscallBuilder& builder, Syscall::Function syscall_function, syscall_arg_t arg1, syscall_arg_t arg2, syscall_arg_t arg3, syscall_arg_t res)
|
||||
{
|
||||
enum ResultType {
|
||||
|
@ -788,6 +798,9 @@ static ErrorOr<void> format_syscall(FormattedSyscallBuilder& builder, Syscall::F
|
|||
format_write(builder, (int)arg1, (void*)arg2, (size_t)arg3);
|
||||
result_type = Ssize;
|
||||
break;
|
||||
case SC_kill:
|
||||
format_kill(builder, (pid_t)arg1, (int)arg2);
|
||||
break;
|
||||
case SC_getuid:
|
||||
case SC_geteuid:
|
||||
case SC_getgid:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue