Class: HotCell::Fixtures::StderrDescendant

Inherits:
Operation
  • Object
show all
Defined in:
lib/hot_cell/test_operations.rb

Overview

A tool that keeps writing to fd 2 after the worker itself is gone. fd 2 is never close-on-exec, so everything a worker spawned holds the write end, and the pipe reports no end of stream until the reap's group sweep kills them.

Constant Summary

Constants inherited from Operation

Operation::READ_BYTES

Instance Method Summary collapse

Methods inherited from Operation

abstract_operation, abstract_operation?, before_fork, before_worker_boot, inherited, limits, operation, operation_name, #run_tool, unreadable

Instance Method Details

#perform(_inputs, _outputs) ⇒ Object



547
548
549
550
551
# File 'lib/hot_cell/test_operations.rb', line 547

def perform(_inputs, _outputs)
  spawn "sh", "-c", "while :; do echo from the descendant >&2; done"
  sleep 0.5
  exit! 1
end