GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
PLUMBER(4) FreeBSD Kernel Interfaces Manual PLUMBER(4)

plumber - file system for interprocess messaging

plumber [ -f ] [ -p plumbing ]

The plumber is a user-level file server that receives, examines, rewrites, and dispatches messages between programs. Its behavior is programmed by a plumbing file (default $HOME/lib/plumbing) in the format of

Its services are posted via as plumb, and consist of two pre-defined files, plumb/send and plumb/rules, and a set of output ports for dispatching messages to applications.

Programs use fswrite (see to deliver messages to the send file, and fsread to receive them from the corresponding port. For example, plumb menu item or the B command cause a message to be sent to plumb/send; sam in turn reads from, by convention, plumb/edit to receive messages about files to open.

A copy of each message is sent to each client that has the corresponding port open. If none has it open, and the rule has a plumb client or plumb start rule, that rule is applied. A plumb client rule causes the specified command to be run and the message to be held for delivery when the port is opened. A plumb start rule runs the command but discards the message. If neither start or client is specified and the port is not open, the message is discarded and a write error is returned to the sender.

The set of output ports is determined dynamically by the specification in the plumbing rules file: a port is created for each unique destination of a plumb to rule.

The set of rules currently active may be examined by reading the file plumb/rules; appending to this file adds new rules to the set, while creating it (opening it with OTRUNC) clears the rule set. Thus the rule set may be edited dynamically with a traditional text editor. However, ports are never deleted dynamically; if a new set of rules does not include a port that was defined in earlier rules, that port will still exist (although no new messages will be delivered there).

The -f option causes the process to run in the foreground.

$HOME/lib/plumbing
default rules file
/plumb
directory to search for files in include statements
plumb
mount name for

/src/cmd/plumb


Search for    or go to Top of page |  Section 4 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.