Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
58 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mq(4) — message queue

Mq serves a 9p file tree representing groups of buffered two-way data streams for multiple readers and writers accessible through the standard read(2) and write(2) file I/O interface.

Overview

Streams may be organized within an arbitrary file tree structure, which provides a means of namespacing and grouping.

<group>
	<group>*
	<stream>*
	order
	ctl

A directory denotes a group of streams. Any number of streams and sub-groups may be created within a group. Grouped streams share configuration and an order file.

The read-only meta-stream called order provides ordering information for data written to streams within a group. Special readers such as mq-cat(1) can tap into this stream to retrieve data coming from multiple streams in the same order it was written.

See the mq(4) manual page for a complete description of supported data modes, queue replay options, usage reference, and other details.

Examples

Mount the mq(4) file server and use it to persist an rc(1) shell session.

mq -s detach
mount -c /srv/detach /n/detach
mkdir /n/detach/rc
cd /n/detach/rc
echo replay all >ctl
touch fd0 fd1 fd2
rc -i <fd0 >>fd1 >>[2]fd2 &

Attach to the shell:

cat fd1 & cat fd2 & cat >>fd0

The program pin(1) provides a polished interface for persisting program sessions. It also makes use of the data ordering feature for faithful reproduction of session history.

The program mq-cat(1) is an example of an ordered multi-stream reader.

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.