fix, cope with failing execl()

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, factor out the actual forking and sig blocking before and unblocking afterwards

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
revert, using vfork() implies we can't factor out the forking

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
Merge branch 'core/jobs'

* core/jobs:
  revert, using vfork() implies we can't factor out the forking
  minor, factor out the actual forking and sig blocking before and unblocking afterwards
  fix, cope with failing execl()
test, add regression for pty feature

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
hygiene, produce documentation in comments that match the code

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
chore, provide a global empty signal set as well

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, provide pty allocation via --pseudo-tty|-t

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, allow options to be set programmatically (through setopt OPTION)

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
Merge branch 'feat/pty'

* feat/pty:
  minor, allow options to be set programmatically (through setopt OPTION)
  minor, provide pty allocation via --pseudo-tty|-t
  chore, provide a global empty signal set as well
  hygiene, produce documentation in comments that match the code
  test, add regression for pty feature
minor, new order chain: 1. close() stdin of child, 2. waitpid(), 3. epoll_wait()

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
fix, PEBKAC, close pipe ends after dup2()ing

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, exit with error code from spawned interactive shell in pty mode

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, use splice()'ing to transfer stderr output (in pty mode) to parent's stderr

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
Merge branch 'core/jobs'

* core/jobs:
  minor, use splice()'ing to transfer stderr output (in pty mode) to parent's stderr
  minor, exit with error code from spawned interactive shell in pty mode
  fix, PEBKAC, close pipe ends after dup2()ing
  minor, new order chain: 1. close() stdin of child, 2. waitpid(), 3. epoll_wait()