opnsense-src/lib/libsys
Kyle Evans ee9895e10d kern: send parent a SIGCHLD when the debugger has detached
The practical scenario that leads to this is porch(1) spawning some
utility and sending it a SIGSTOP as a debugging aide.  The user then
attaches a debugger and walks through how some specific input is
processed, then detaches to allow the script to continue.  When ptrace
is detached, the process resumes execution but the parent is never
notified and may be stuck in wait(2) for it to continue or terminate.

Other platforms seem to re-suspend the process after the debugger is
detached, but neither behavior seems unreasonable.  Just notifying the
parent that the child has resumed is a relatively low-risk departure
from our current behavior and had apparently been considered in the
past, based on pre-existing comments.

Move p_flag and p_xsig handling into childproc_continued(), as just
sending the SIGCHLD here isn't really useful without P_CONTINUED set
and the other caller already sets these up as well.

Reviewed by:	kib, markj
Differential Revision:	https://reviews.freebsd.org/D50917
2025-06-19 10:32:04 -05:00
..
aarch64 libsys/aarch: Remove pointless MD syscall(2) 2024-03-07 00:59:01 +00:00
amd64 amd64: add amd64_set_tlsbase(3) 2025-05-28 14:11:23 +03:00
arm lib: Remove __ARM_ARCH checks that are always true 2024-06-12 11:49:05 +00:00
i386 libsys/i386/Symbol.sys.map: sort symbol names 2024-12-11 20:31:30 +00:00
powerpc lib{c,sys}: return wrapped syscall APIs to libc 2024-03-13 18:36:02 +00:00
powerpc64 lib{c,sys}: return wrapped syscall APIs to libc 2024-03-13 18:36:02 +00:00
powerpcspe lib{c,sys}: fix powerpcspe build 2024-03-13 20:09:41 +00:00
riscv libsys/riscv: Remove pointless MD syscall(2) 2024-03-07 00:58:44 +00:00
x86 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
__error.c lib{c,sys}: stop exposing errno symbol 2024-09-27 20:27:46 +01:00
__getosreldate.c libc: move __getosreldate to libsys 2024-02-05 20:34:56 +00:00
__vdso_gettimeofday.c
_exit.2
_libsys.h Regen 2025-05-31 22:52:42 +03:00
_umtx_op.2 Implement CLOCK_TAI 2025-06-12 12:25:31 -06:00
_umtx_op_err.c libthr: move _umtx_op_err() to libsys 2024-02-05 20:34:56 +00:00
abort2.2
accept.2
access.2 faccessat(2): Honor AT_SYMLINK_NOFOLLOW 2024-08-11 17:49:06 +02:00
acct.2
adjtime.2
aio_cancel.2 Remove mentions of ENOSYS added in d97e44784b 2025-03-27 19:40:07 -07:00
aio_error.2 Remove mentions of ENOSYS added in d97e44784b 2025-03-27 19:40:07 -07:00
aio_fsync.2 Remove mentions of ENOSYS added in d97e44784b 2025-03-27 19:40:07 -07:00
aio_mlock.2 Remove mentions of ENOSYS added in d97e44784b 2025-03-27 19:40:07 -07:00
aio_read.2 Bump .Dd for recently changed aio_*(2) manpages 2025-03-27 19:43:26 -07:00
aio_return.2 Remove mentions of ENOSYS added in d97e44784b 2025-03-27 19:40:07 -07:00
aio_suspend.2 Remove mentions of ENOSYS added in d97e44784b 2025-03-27 19:40:07 -07:00
aio_waitcomplete.2 Bump .Dd for recently changed aio_*(2) manpages 2025-03-27 19:43:26 -07:00
aio_write.2 Bump .Dd for recently changed aio_*(2) manpages 2025-03-27 19:43:26 -07:00
auxv.3 libc: elf auxiliary vector handling to libsys 2024-02-05 20:34:56 +00:00
auxv.c libsys auxv.c: add fences needed to ensure that flag works 2024-02-21 16:18:10 +02:00
bind.2
bindat.2
brk.2
cap_enter.2
cap_fcntls_limit.2
cap_ioctls_limit.2
cap_rights_limit.2 rights.4: various corrections on capability rights 2024-04-28 22:48:31 -06:00
chdir.2
chflags.2
chmod.2 unix: Add support for atomically setting the socket mode 2024-11-03 16:46:53 +00:00
chown.2
chroot.2 Add fchroot(2) 2024-11-29 12:10:02 +00:00
clock_gettime.2 clock_gettime: Better markup 2025-06-13 12:29:38 -06:00
clock_gettime.c
close.2 tcp: don't ever return ECONNRESET on close(2) 2024-12-23 10:35:49 -08:00
closefrom.2
connect.2
connectat.2
copy_file_range.2
cpuset.2
cpuset_getaffinity.2
cpuset_getdomain.2
creat.2 libsys: move __libsys_interposer consumers 2024-02-05 20:34:55 +00:00
dup.2
eventfd.2
execve.2 man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
extattr_get_file.2
fcntl.2
ffclock.2
fhlink.2 manuals: Fix errors in .2 pages 2024-09-20 11:37:02 -03:00
fhopen.2 fhopen.2: Update man page for O_NAMEDATTR flag 2025-04-09 17:50:36 -07:00
fhreadlink.2 fhreadlink.2: fix old typo in the manpage 2024-11-25 18:38:20 +00:00
flock.2
fork.2 fork: Document _Fork (and fork) as POSIX 2024 2024-11-15 23:05:40 -05:00
fspacectl.2
fsync.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
getdirentries.2
getdtablesize.2
getfh.2 manuals: Fix errors in .2 pages 2024-09-20 11:37:02 -03:00
getfsstat.2
getgid.2
getgroups.2
getitimer.2
getlogin.2
getloginclass.2
getpagesize.3 libc: move getpagesize(s) to libsys 2024-02-05 20:34:56 +00:00
getpagesize.c libc: move getpagesize(s) to libsys 2024-02-05 20:34:56 +00:00
getpagesizes.3 libc: move getpagesize(s) to libsys 2024-02-05 20:34:56 +00:00
getpagesizes.c libc: move getpagesize(s) to libsys 2024-02-05 20:34:56 +00:00
getpeername.2
getpgrp.2
getpid.2
getpriority.2
getrandom.2
getrlimit.2 getrlimit(2): document RLIMIT_PIPEBUF 2024-09-20 09:46:06 +03:00
getrlimitusage.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
getrusage.2
getsid.2
getsockname.2
getsockopt.2 Fix incorrect version introduced in manual pages 2025-05-04 22:44:43 -06:00
gettimeofday.2 gettimeofday.2: Do mention improbable future removal 2024-04-28 20:11:22 +02:00
gettimeofday.c
getuid.2
interposing_table.c libsys: make __libsys_interposing static 2024-03-13 17:31:48 +00:00
intro.2 intro.2 as errno.2: Use the name macro for errno 2024-05-04 08:56:10 -06:00
ioctl.2
issetugid.2
jail.2
kcmp.2
kenv.2
kill.2
kldfind.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kldfirstmod.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kldload.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kldnext.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kldstat.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kldsym.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kldunload.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kqueue.2 kqueue.2: Editorial pass 2024-12-30 14:09:48 -05:00
ktrace.2
libc_stubs.c lib{c,sys}: move auxargs more firmly into libsys 2024-02-19 22:44:08 +00:00
libsys.h libsys: add a libsys.h 2024-04-16 17:48:07 +01:00
libsys_sigwait.c libsys: don't expose sigwait wrapper 2024-03-13 17:04:07 +00:00
link.2
lio_listio.2 lio_listio(2): add LIO_FOFFSET flag to ignore aiocb aio_offset 2024-02-11 03:53:50 +02:00
listen.2
lockf.3 libsys: move some missed manpages 2024-02-08 19:50:32 +00:00
lseek.2
madvise.2
Makefile lib{c,sys}: stop exposing errno symbol 2024-09-27 20:27:46 +01:00
Makefile.depend Update Makefile.depend files 2024-10-14 10:26:17 -07:00
Makefile.sys libsys: Don't create or expose __realpathat 2025-02-19 20:05:47 +00:00
membarrier.2 membarrier: man page improvements 2024-10-19 16:18:18 -04:00
mincore.2
minherit.2
mkdir.2
mkfifo.2
mknod.2
mlock.2
mlockall.2
mmap.2
modfind.2
modnext.2
modstat.2
mount.2
mprotect.2
mq_close.2
mq_getattr.2
mq_notify.2
mq_open.2 mqueuefs: Relax restriction that path must begin with a slash 2024-05-23 13:40:46 -06:00
mq_receive.2
mq_send.2
mq_setattr.2
mq_unlink.2 man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
msgctl.2
msgget.2
msgrcv.2
msgsnd.2
msync.2
munmap.2 munmap.2: Add STANDARDS and note about portability 2025-01-16 12:50:47 -05:00
nanosleep.2 Implement CLOCK_TAI 2025-06-12 12:25:31 -06:00
nfssvc.2
ntp_adjtime.2
open.2 open.2: Document the O_NAMEDATTR flag 2025-06-04 15:50:16 -07:00
pathconf.2 pathconf.2: Document the _PC_HAS_NAMEDATTR name 2025-05-04 15:23:42 -07:00
pdfork.2
pipe.2
poll.2 Tweak ppoll() to include 1003.1-2024 visibility, take two 2024-12-14 22:40:16 -06:00
posix_fadvise.2
posix_fallocate.2
posix_openpt.2
procctl.2 procctl.2: Fix names of PROC_LOGSIGEXIT_CTL constants 2025-04-21 16:01:53 -06:00
profil.2
pselect.2
ptrace.2 kern: send parent a SIGCHLD when the debugger has detached 2025-06-19 10:32:04 -05:00
ptrace.c
quotactl.2
rctl_add_rule.2
read.2 read(2): Add write cross reference 2024-03-01 20:36:39 -07:00
readlink.2 manpage: cross link fhreadlink(2) <-> readlink(2) 2024-11-25 09:02:34 +00:00
reboot.2
recv.2 recv.2: Improve style in RETURN VALUES 2025-02-24 12:33:38 -05:00
recvmmsg.c include: ssp: fortify <sys/socket.h> 2024-07-13 00:16:26 -05:00
rename.2 rename(2): Extend EINVAL's description 2024-08-28 01:09:33 +03:00
revoke.2
rfork.2
rfork_thread.3 libc: move rfork_thread(3) to libsys 2024-02-05 20:34:56 +00:00
rmdir.2
rtprio.2
sched_get_priority_max.2
sched_getcpu.3 sched_getcpu: Add man page 2024-11-13 19:32:04 -05:00
sched_getcpu_gen.c libc: libc/gen/sched_getcpu_gen.c -> libsys/ 2024-02-05 20:34:55 +00:00
sched_setparam.2
sched_setscheduler.2
sched_yield.2
sctp_generic_recvmsg.2
sctp_generic_sendmsg.2
sctp_peeloff.2
select.2
semctl.2
semget.2
semop.2
send.2
sendfile.2 man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
sendmmsg.c libsys: move __libsys_interposer consumers 2024-02-05 20:34:55 +00:00
setcred.2 Fix incorrect version introduced in manual pages 2025-05-04 22:44:43 -06:00
setfib.2 setfib.2: Note that the number of FIBs can be adjusted after boot 2025-01-21 15:39:50 +00:00
setgroups.2
setpgid.2
setregid.2
setresuid.2
setreuid.2
setsid.2
setuid.2
shm_open.2
shmat.2
shmctl.2
shmget.2
shutdown.2
sigaction.2
sigaltstack.2
sigfastblock.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
sigpending.2
sigprocmask.2
sigqueue.2 sigqueue(2): Document __SIGQUEUE_TID 2024-04-23 19:51:10 +03:00
sigreturn.2
sigstack.2
sigsuspend.2
sigwait.2
sigwaitinfo.2
sleep.3 libsys: move some missed manpages 2024-02-08 19:50:32 +00:00
socket.2 manuals: Fix "unusual .Xr" warnings with a script 2024-10-15 17:18:14 -03:00
socketpair.2
stat.2
statfs.2 statfs.2: Update man page for the MNT_NAMEDATTR flag 2025-04-10 18:00:49 -07:00
swapon.2 manuals: Misc macro typos 2024-09-21 05:25:15 -06:00
Symbol.map libsys: Don't create or expose __realpathat 2025-02-19 20:05:47 +00:00
Symbol.sys.map libsys: export exterrctl symbol 2025-05-31 22:52:41 +03:00
Symbol.thr.map libthr: move _umtx_op_err() to libsys 2024-02-05 20:34:56 +00:00
symlink.2 symlink.2: document EOPNOTSUPP 2025-04-15 00:03:19 +02:00
sync.2
sysarch.2
syscall.2
syscalls.map Regen 2025-05-31 22:52:42 +03:00
thr_exit.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
thr_kill.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
thr_new.2 thr_new.2: document THR_C_RUNTIME 2025-05-31 17:55:24 +03:00
thr_self.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
thr_set_name.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
thr_suspend.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
thr_wake.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
timer_create.2 Implement CLOCK_TAI 2025-06-12 12:25:31 -06:00
timer_delete.2
timer_settime.2
timerfd.2 timerfd.2: Add documentation for CLOCK_UPTIME and CLOCK_BOOTTIME 2024-07-02 10:40:04 -06:00
truncate.2
umask.2
undelete.2
unlink.2
usleep.3 libsys: move some missed manpages 2024-02-08 19:50:32 +00:00
utimensat.2
utimes.2
utrace.2
uuidgen.2
vfork.2
wait.2 kern: send parent a SIGCHLD when the debugger has detached 2025-06-19 10:32:04 -05:00
write.2 write.2: sweep error code referencing disklabel(8) 2025-05-27 13:33:50 -08:00