| Previous | Next |
| STATUS_ILLEGAL_FLOAT_CONTEXT | STATUS_REGISTRY_CORRUPT |
STATUS_PIPE_BROKEN
STATUS_PIPE_BROKEN means that a pipe operation reached a peer that is no longer connected. For a named pipe, the other end has closed; for a pipe-like abstraction, the expected reader or writer is gone. It is a lifecycle condition, not a malformed-message diagnosis.
What an application should infer
A broken pipe normally ends the current conversation. Pending writes cannot be assumed to have reached the peer, and a server should not continue to use the same pipe instance as though it were connected. The right recovery is to close or reset the current connection state, release any request-specific resources, and establish a new connection when the protocol allows it.
Useful checks
- Log whether the failure occurred on read, write, flush, or a control request, and record the pipe instance or client identity.
- For a server, finish the current instance and follow the documented disconnect/reconnect lifecycle before accepting a new client.
- For a client, treat the result as a lost session and reconnect only after the server endpoint is expected to be available.
- Do not retry the same write against the broken instance; retrying at the protocol level may duplicate a request unless the protocol is idempotent.
STATUS_PIPE_DISCONNECTED is closely related but describes a pipe instance that is already in a disconnected state. STATUS_PIPE_BROKEN emphasizes that an operation failed because the peer end closed.
See Named Pipe Operations, FSCTL_PIPE_PEEK reply statuses, and ConnectNamedPipe.
Looking for a different code? Search another status or error code.
