syd 3.56.0

rock-solid application kernel
Documentation
//
// Syd: rock-solid application kernel
// src/kernel/ptrace/event/sig.rs: ptrace(2) signal event handler
//
// Copyright (c) 2025, 2026 Ali Polatel <alip@chesswob.org>
//
// SPDX-License-Identifier: GPL-3.0

use libc::PTRACE_CONT;
use nix::unistd::Pid;

use crate::cookie::safe_ptrace;

pub(crate) fn sysevent_sig(pid: Pid, sig: i32) {
    // Deliver the signal and continue.
    //
    // SAFETY:
    // 1. Continue process with ptrace(2).
    // 2. nix Signal type does not include realtime signals.
    let _ = unsafe {
        safe_ptrace(
            PTRACE_CONT,
            pid.as_raw(),
            std::ptr::null_mut(),
            sig as *mut libc::c_void,
        )
    };
}