Class: HotCell::Fixtures::StderrFlags

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

Overview

Reports whether fd 2 is non-blocking, which is the load-bearing decision behind the capture: a blocking fd 2 would put the supervisor's scheduling in the middle of a libvips write(2).

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



536
537
538
# File 'lib/hot_cell/test_operations.rb', line 536

def perform(_inputs, _outputs)
  { nonblock: ($stderr.fcntl(Fcntl::F_GETFL) & Fcntl::O_NONBLOCK).positive? }
end