File:  [NetBSD Developer Wiki] / wikisrc / projects / project / make_system__40__3__41___and_popen__40__3__41___use_posix__95__spawn__40__3__41__.mdwn
Revision 1.1: download - view: text, annotated - select for diffs
Thu Jan 24 18:46:19 2019 UTC (22 months, 1 week ago) by wiki
Branches: MAIN
CVS tags: HEAD
web commit by martin: Add gsoco project to make system(3) and popen(3) use posix_spawn(3) internally

[[!template id=project

title="Make system(3) and popen(3) use posix_spawn(3) internally"


[Martin Husemann](


The library functions popen(3) and system(3) are used to create a new shell
process and (in case of popen(3) set up IPC channels to the new process).

Currently they are implemented using fork(2), execve(2) and do a bit of
astonishing complex internal bookkeeping.

It should be possible to simplify both implementations using
posix_spawn(3) and associated helper functions.

[[!tag gsoc]]

CVSweb for NetBSD wikisrc <> software: FreeBSD-CVSweb