shmat function
Attach a shared memory block.
Declaration
function shmat(shmid: cint; shmaddr: pointer; shmflg: cint): pointerDescription
shmat attaches a shared memory block with identified
shmid
to the current process. The function returns a pointer to the shared memory
block.
If shmaddr is Nil, then the system chooses a free unmapped
memory region, as high up in memory space as possible.
If shmaddr is non-nil, and SHM_RND is in shmflg, then
the returned address is shmaddr, rounded down to SHMLBA.
If SHM_RND is not specified, then shmaddr must be a
page-aligned address.
The parameter shmflg can be used to control the behaviour of the
shmat call. It consists of a ORed combination of the following
constants:
- SHM_RND
- The suggested address in
shmaddris rounded down toSHMLBA. - SHM_RDONLY
- the shared memory is attached for read access only. Otherwise the memory is attached for read-write. The process then needs read-write permissions to access the shared memory.
For an example, see shmctl.
Errors
If an error occurs, -1 is returned, and
IPCerror is set.
See also
An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
