#!/usr/sbin/dtrace -s #pragma D option flowindent syscall::write:entry /execname == "scp"/ { self->spec = speculation(); } fbt::: /self->spec/ { speculate(self->spec); } syscall::write:return /self->spec && (int)arg0 < 0/ { commit(self->spec); self->spec = 0; self->doexit = 1; } syscall::write:return /self->doexit/ { exit(0); } syscall::write:return /self->spec && (int)arg0 >= 0/ { discard(self->spec); self->spec = 0; }