kpipe

QNX SDP8.0Utilities ReferenceUtilities

Start the in-kernel pipe resource manager

Synopsis:

kpipe [-1d] [-a atomic] [-s size] [-w threshold]

Options

-1
Unblock select for writing when space for PIPE_BUF bytes becomes available. This is equivalent to setting the write notification threshold to PIPE_BUF via the -w option.
Note:
For kpipe, this is the default setting. This argument exists for compatibility with the legacy pipe resource manager only.
-a atomic
Set the atomic write size.
The atomic write size represents the largest data buffer that can be written to a POSIX pipe with the guarantee that it won't be segmented into smaller chunks. This value must be less than or equal to the pipe buffer size. The default atomic write size is 5120 bytes.
-d
Don't daemonize.
-s size
Set the pipe buffer size, where size must be large enough to accommodate an atomic write size.
The pipe buffer size represents the maximum amount of data that can be in transit at any given time (i.e., the maximum amount of data that can be written to a pipe without requiring the writer to block). The default size of the pipe buffer is set to 64K bytes of data.
-w threshold
Set the write notification threshold.
The write notification threshold represents the amount of space that must be available in a pipe buffer before an armed output event will be delivered to a waiting client. The default size of the write notification threshold is 5120 bytes.

Description:

The kpipe resource manager is the user interface to the in-kernel pipe IPC mechanism. It provides an implementation of anonymous POSIX pipes utilizing in-kernel data buffers.

CAUTION:
The kpipe resource manager doesn't support the following interprocess communication mechanisms:
  • named pipes (FIFOs). If you require support for FIFOs, run the pipe manager along with kpipe.
  • combine messages, which the AIO framework uses. Therefore, you can't use aio_read(), aio_write(), or lio_listio() with in-kernel pipes.
Page updated: