freebsd-skq/sys/ddb
Konstantin Belousov a3de221dbe Among signal generation syscalls, only sigqueue(2) is allowed by POSIX
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
2009-11-17 11:39:15 +00:00
..
db_access.c
db_access.h
db_break.c
db_break.h
db_capture.c Rename debug.ddb.capture.bytes sysctl to debug.ddb.capture.bufoff in 2008-04-25 13:23:36 +00:00
db_command.c Among signal generation syscalls, only sigqueue(2) is allowed by POSIX 2009-11-17 11:39:15 +00:00
db_command.h Initialize the DDB command list when initializing DDB so that the basic 2008-09-25 19:50:14 +00:00
db_examine.c
db_expr.c Build on Jeff Roberson's linker-set based dynamic per-CPU allocator 2009-07-14 22:48:30 +00:00
db_input.c
db_lex.c
db_lex.h
db_main.c Initialize the DDB command list when initializing DDB so that the basic 2008-09-25 19:50:14 +00:00
db_output.c Add a missing include which was erroneusly left out from the previous 2008-08-18 16:51:44 +00:00
db_output.h
db_print.c
db_ps.c Put square backets ([]) around process names for system processes to patch 2009-10-01 19:12:14 +00:00
db_run.c Fix software single-stepping: we need to check if the instruction is a 2008-08-02 12:49:43 +00:00
db_script.c
db_sym.c Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
db_sym.h
db_textdump.c Place hostnames and similar information fully under the prison system. 2009-05-29 21:27:12 +00:00
db_thread.c
db_variables.c Build on Jeff Roberson's linker-set based dynamic per-CPU allocator 2009-07-14 22:48:30 +00:00
db_variables.h Build on Jeff Roberson's linker-set based dynamic per-CPU allocator 2009-07-14 22:48:30 +00:00
db_watch.c
db_watch.h
db_write_cmd.c
ddb.h Build on Jeff Roberson's linker-set based dynamic per-CPU allocator 2009-07-14 22:48:30 +00:00