summaryrefslogtreecommitdiff
path: root/lib/libc/stdio/open_memstream.c
diff options
context:
space:
mode:
authorkamil <kamil@NetBSD.org>2018-05-01 16:37:23 +0000
committerkamil <kamil@NetBSD.org>2018-05-01 16:37:23 +0000
commit9d02027080155d5c5f8a4aa515c658328fa6eeb2 (patch)
tree4319129cf2d201608e4282cde4e6e2c08d1a1c98 /lib/libc/stdio/open_memstream.c
parent5366ef43b53d63d81ecc71786daabcae5f6e0432 (diff)
Implement PTRACE_VFORK
Add support for tracing vfork(2) events in the context of ptrace(2). This API covers other frontends to fork1(9) like posix_spawn(2) or clone(2), if they cause parent to wait for exec(2) or exit(2) of the child. Changes: - Add new argument to sigswitch() determining whether we need to acquire the proc_lock or whether it's already held. - Refactor fork1(9) for fork(2) and vfork(2)-like events. Call sigswitch() from fork(1) for forking or vforking parent, instead of emitting kpsignal(9). We need to emit the signal and suspend the parent, returning to user and relock proc_lock. - Add missing prototype for proc_stop_done() in kern_sig.c. - Make sigswitch a public function accessible from other kernel code including <sys/signalvar.h>. - Remove an entry about unimplemented PTRACE_VFORK in the ptrace(2) man page. - Permin PTRACE_VFORK in the ptrace(2) frontend for userland. - Remove expected failure for unimplemented PTRACE_VFORK tests in the ATF ptrace(2) test-suite. - Relax signal routing constraints under a debugger for a vfork(2)ed child. This intended to protect from signaling a parent of a vfork(2)ed child that called PT_TRACE_ME, but wrongly misrouted other signals in vfork(2) use-cases. Add XXX comments about still existing problems and future enhancements: - correct vfork(2) + PT_TRACE_ME handling. - fork1(2) handling of scenarios when a process is collected in valid but rare cases. All ATF ptrace(2) fork[1-8] and vfork[1-8] tests pass. Fix PR kern/51630 by Kamil Rytarowski (myself). Sponsored by <The NetBSD Foundation>
Diffstat (limited to 'lib/libc/stdio/open_memstream.c')
0 files changed, 0 insertions, 0 deletions
/dev/ebus?id=2867b68bc3d7cdb1bb7b9f8367e4aa0b2fa765f4'>integrate kauth.elad 2006-03-29Use device_private().thorpej 2005-12-11merge ktrace-lwp.christos 2005-02-27nuke trailing whitespaceperry 2005-01-11ansify and KNFkent 2005-01-11fix compilation errorskent 2005-01-10merge kent-audio1 branch, which introduces audio filter pipeline to the MIkent 2004-10-29constify audio_hw_if, midi_hw_if, and radio_hw_if.yamt 2003-09-10Use EBDMA_BURST_SIZE_16. Introduce EBus specific round_blocksize touwe 2003-07-14add missing __KERNEL_RCSID()lukem 2003-05-03DMA, not dma nor Dma.wiz 2002-12-10Remove the `flags' argument from bus_intr_establish().pk 2002-10-02Add trailing ; to CFATTACH_DECL.thorpej 2002-09-30Use CFATTACH_DECL().thorpej 2002-09-27Declare all cfattach structures const.thorpej 2002-04-04Prettify error message.uwe 2002-03-22Fix some handle/tag confusion. This makes it compile on sparc64 again.martin 2002-03-21Do not even bother trying to use the mappings provided by the PROM.eeh 2002-03-21Remove struct ebus_dmac_reg to discourage indiscriminate usage ofuwe 2002-03-21Drop BUS_SPACE_MAP_LINEAR and properly bus_space_*-ify this so that ituwe 2002-03-12Fix whitespace nits (oops).uwe 2002-03-12Rework the driver to add EBus DMA support and improve APC DMA support.uwe 2002-03-12Drop ebus_bus_map(), use plain bus_space_map() instead.uwe 2002-03-01Remove EBUS_PADDR_FROM_REG, as it does not realy creates a paddr on sparc.martin 2002-02-18Shared ebusvar.h for sparc and sparc64.uwe 2002-02-18Add DMA definitions.uwe 2001-09-07make this "MI"; nothing different between this and the SPARC version.mrg