fault_arm Interface

interface

Post-I/O hook. Counts one I/O event. In the on build, if the armed ordinal has been reached and ios is still zero, sets ios to a synthetic non-zero error; it never clears a real error and never alters ios in the off build. Not pure: the on body advances saved state — the seam is inherently stateful, so the interface cannot promise purity. Arm injection: the n-th io_check call counted from now forces a synthetic failure. n <= 0 disarms. The call ordinal is reset to zero. No-op in the off build. Disarm injection and reset the global call ordinal. No-op in the off build. Number of io_check calls since the last fault_arm / fault_disarm. Always 0 in the off build — a test can use this both to size an injection sweep and to detect that injection is unavailable (production library linked).


public module subroutine fault_arm(n)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n