Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (5) — Plan9 1st Edition

Media Vault

Software Library

Restoration Projects

Artifacts Sought

FLUSH(5)

NAME

flush − abort a message

SYNOPSIS

Tflush tag[2] oldtag[2]
Rflush tag[2]

DESCRIPTION

When the response to a request is no longer needed, such as when a user interrupts a process doing a read(2), a ­Tflush request is sent to the server to purge the pending response.  The message being flushed is identified by oldtag. The semantics of ­flush depends on messages arriving in order. 

The server must answer the ­flush message immediately.  If it recognizes ­oldtag as the tag of a pending transaction, it should abort any pending response and discard that tag.  In either case, it should respond with an ­Rflush echoing the tag (not oldtag) of the ­Tflush message.  A ­Tflush can never be responded to by an ­Rerror message. 

When the client sends the Tflush, it should disregard all messages received with tag ­oldtag until the corresponding ­Rflush is received, at which point ­oldtag may be recycled for subsequent messages. 

Several exceptional conditions are handled correctly by the above specification: sending multiple flushes for a single tag, flushing a Tflush, and flushing an invalid tag. 

Plan 9  —  April 04, 1995

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026