2d08f816e1
to fail due to lack of resources to queue siginfo. Add KSI_SIGQ flag that allows sigqueue_add() to fail while trying to allocate memory for new siginfo. When the flag is not set, behaviour is the same as for KSI_TRAP: if memory cannot be allocated, set bit in sq_kill. KSI_TRAP is kept to preserve KBI. Add SI_KERNEL si_code, to be used in siginfo.si_code when signal is generated by kernel. Deliver siginfo when signal is generated by kill(2) family of syscalls (SI_USER with properly filled si_uid and si_pid), or by kernel (SI_KERNEL, mostly job control or SIGIO). Since KSI_SIGQ flag is not set for the ksi, low memory condition cause old behaviour. Keep psignal(9) KBI intact, but modify it to generate SI_KERNEL si_code. Pgsignal(9) and gsignal(9) now take ksi explicitely. Add pksignal(9) that behaves like psignal but takes ksi, and ddb kill command implemented as pksignal(..., ksi = NULL) to not do allocation while in debugger. While there, remove some register specifiers and use ANSI C prototypes. Reviewed by: davidxu MFC after: 1 month |
||
---|---|---|
.. | ||
db_access.c | ||
db_access.h | ||
db_break.c | ||
db_break.h | ||
db_capture.c | ||
db_command.c | ||
db_command.h | ||
db_examine.c | ||
db_expr.c | ||
db_input.c | ||
db_lex.c | ||
db_lex.h | ||
db_main.c | ||
db_output.c | ||
db_output.h | ||
db_print.c | ||
db_ps.c | ||
db_run.c | ||
db_script.c | ||
db_sym.c | ||
db_sym.h | ||
db_textdump.c | ||
db_thread.c | ||
db_variables.c | ||
db_variables.h | ||
db_watch.c | ||
db_watch.h | ||
db_write_cmd.c | ||
ddb.h |