Just testing my new keyboard.

Funcsynopsis looks ugly, is there any better rendering possible?


git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@21412 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Egon Schmid 2000-03-12 19:11:49 +00:00
parent 169824df9b
commit 041728db89

View file

@ -1,28 +1,28 @@
<reference id="ref.sem">
<title>Semaphore and shared memory functions</title>
<title>Semaphore and Shared Memory Functions</title>
<titleabbrev>Semaphore</titleabbrev>
<partintro>
<para>
This module provides semaphore functions using System V semaphores.
Semaphores may be used to provide exclusive access to resources
on the current machine, or to limit the number of processes that
may simultaneously use a resource.</para>
<para>
This module provides also shared memory functions using System V
shared memory. Shared memory may be used to provide access to
global variables. Different httpd-daemons and even other programs
(such as Perl, C, ...) are able to access this data to provide a
global data-exchange. Remember, that shared memory is NOT safe
against simultaneous access. Use semaphores for synchronization.
<partintro>
<para>
This module provides semaphore functions using System V
semaphores. Semaphores may be used to provide exclusive access to
resources on the current machine, or to limit the number of
processes that may simultaneously use a resource.
</para>
<para>
This module provides also shared memory functions using System V
shared memory. Shared memory may be used to provide access to
global variables. Different httpd-daemons and even other programs
(such as Perl, C, ...) are able to access this data to provide a
global data-exchange. Remember, that shared memory is NOT safe
against simultaneous access. Use semaphores for synchronization.
<table>
<title>Limits of shared memory by the Unix OS</title>
<title>Limits of Shared Memory by the Unix OS</title>
<tgroup cols="2">
<tbody>
<row>
<entry>SHMMAX</entry>
<entry>max size of shared memory, normally 131072
bytes</entry>
<entry>max size of shared memory, normally 131072 bytes</entry>
</row>
<row>
<entry>SHMMIN</entry>
@ -30,60 +30,64 @@
</row>
<row>
<entry>SHMMNI</entry>
<entry>max amount of shared memory segments, normally
100</entry>
<entry>max amount of shared memory segments, normally 100</entry>
</row>
<row>
<entry>SHMSEG</entry>
<entry>max amount of shared memory per process, normally
6</entry>
<entry>max amount of shared memory per process, normally 6</entry>
</row>
</tbody>
</tgroup>
</table></para>
</table>
</para>
</partintro>
<refentry id="function.sem-get">
<refnamediv>
<refname>sem_get</refname>
<refpurpose>get a semaphore id</refpurpose>
<refpurpose>Get a semaphore id</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>int <function>sem_get</function></funcdef>
<paramdef>int <parameter>key</parameter></paramdef>
<paramdef>int <parameter><optional>max_acquire</optional>
</parameter></paramdef>
<paramdef>int <parameter><optional>perm</optional>
</parameter></paramdef>
<paramdef>int
<parameter><optional>max_acquire</optional></parameter>
</paramdef>
<paramdef>int
<parameter><optional>perm</optional></parameter>
</paramdef>
</funcsynopsis>
<para>
Returns: A positive semaphore identifier on success, or false on
error.</para>
error.
</para>
<para>
<function>sem_get</function> returns an id that can be used to
<function>Sem_get</function> returns an id that can be used to
access the System V semaphore with the given key. The semaphore
is created if necessary using the permission bits specified in
perm (defaults to 0666). The number of processes that can
acquire the semaphore simultaneously is set to max_acquire
(defaults to 1). Actually this value is set only if the process
finds it is the only process currently attached to the semaphore.</para>
finds it is the only process currently attached to the semaphore.
</para>
<para>
A second call to <function>sem_get</function> for the same key
will return a different semaphore identifier, but both
identifiers access the same underlying semaphore.</para>
identifiers access the same underlying semaphore.
</para>
<para>
See also: <function>sem_acquire</function> and
<function>sem_release</function>.</para>
<function>sem_release</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.sem-acquire">
<refnamediv>
<refname>sem_acquire</refname>
<refpurpose>acquire a semaphore</refpurpose>
<refpurpose>Acquire a semaphore</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
@ -92,27 +96,31 @@
<paramdef>int <parameter>sem_identifier</parameter></paramdef>
</funcsynopsis>
<para>
Returns: true on success, false on error</para>
Returns: true on success, false on error.
</para>
<para>
<function>sem_acquire</function> blocks (if necessary) until the
<function>Sem_acquire</function> blocks (if necessary) until the
semaphore can be acquired. A process attempting to acquire a
semaphore which it has already acquired will block forever
if acquiring the semaphore would cause its max_acquire value to
be exceeded.</para>
be exceeded.
</para>
<para>
After processing a request, any semaphores acquired by the
process but not explicitly released will be released automatically
and a warning will be generated.</para>
and a warning will be generated.
</para>
<para>
See also: <function>sem_get</function> and
<function>sem_release</function>.</para>
<function>sem_release</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.sem-release">
<refnamediv>
<refname>sem_release</refname>
<refpurpose>release a semaphore</refpurpose>
<refpurpose>Release a semaphore</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
@ -121,17 +129,21 @@
<paramdef>int <parameter>sem_identifier</parameter></paramdef>
</funcsynopsis>
<para>
Returns: true on success, false on error</para>
Returns: true on success, false on error.
</para>
<para>
<function>sem_release</function> releases the semaphore if it
<function>Sem_release</function> releases the semaphore if it
is currently acquired by the calling process, otherwise
a warning is generated.</para>
a warning is generated.
</para>
<para>
After releasing the semaphore, <function>sem_acquire</function>
may be called to re-acquire it.</para>
may be called to re-acquire it.
</para>
<para>
See also: <function>sem_get</function> and
<function>sem_acquire</function>.</para>
<function>sem_acquire</function>.
</para>
</refsect1>
</refentry>
@ -146,22 +158,27 @@
<funcdef>int <function>shm_attach</function></funcdef>
<paramdef>int <parameter>key</parameter></paramdef>
<paramdef>int
<parameter><optional>memsize</optional></parameter></paramdef>
<parameter><optional>memsize</optional></parameter>
</paramdef>
<paramdef>int
<parameter><optional>perm</optional></parameter></paramdef>
<parameter><optional>perm</optional></parameter>
</paramdef>
</funcsynopsis>
<para>
<function>shm_attach</function> returns an id that that
can be used to access the System V shared memory with
the given key, the first call creates the shared memory
segment with mem_size (default: sysvshm.init_mem in the <link linkend="configuration.file">configuration file</link>, otherwise
10000 bytes) and the optional perm-bits (default: 0666).</para>
<function>Shm_attach</function> returns an id that that can be
used to access the System V shared memory with the given key, the
first call creates the shared memory segment with mem_size
(default: sysvshm.init_mem in the <link
linkend="configuration.file">configuration file</link>, otherwise
10000 bytes) and the optional perm-bits (default: 0666).
</para>
<para>
A second call to <function>shm_attach</function> for the same
<parameter>key</parameter> will return a different shared memory
identifier, but both identifiers access the same underlying
shared memory. <parameter>memsize</parameter> and
<parameter>perm</parameter> will be ignored.</para>
shared memory. <parameter>Memsize</parameter> and
<parameter>perm</parameter> will be ignored.
</para>
</refsect1>
</refentry>
@ -177,10 +194,11 @@
<paramdef>int <parameter>shm_identifier</parameter></paramdef>
</funcsynopsis>
<para>
<function>shm_detach</function> disconnects from the shared
<function>Shm_detach</function> disconnects from the shared
memory given by the <parameter>shm_identifier</parameter> created
by <function>shm_attach</function>. Remember, that shared memory
still exist in the Unix system and the data is still present.</para>
still exist in the Unix system and the data is still present.
</para>
</refsect1>
</refentry>
@ -197,7 +215,8 @@
</funcsynopsis>
<para>
Removes shared memory from Unix systems. All data will be
destroyed.</para>
destroyed.
</para>
</refsect1>
</refentry>
@ -218,7 +237,8 @@
<para>
Inserts or updates a <parameter>variable</parameter> with a given
<parameter>variable_key</parameter>. All variable-types (double,
int, string, array) are supported.</para>
int, string, array) are supported.
</para>
</refsect1>
</refentry>
@ -236,9 +256,10 @@
<paramdef>int <parameter>variable_key</parameter></paramdef>
</funcsynopsis>
<para>
<function>shm_get_var</function> returns the variable with a given
<function>Shm_get_var</function> returns the variable with a given
<parameter>variable_key</parameter>. The variable is still present
in the shared memory.</para>
in the shared memory.
</para>
</refsect1>
</refentry>
@ -257,7 +278,8 @@
</funcsynopsis>
<para>
Removes a variable with a given <parameter>variable_key</parameter>
and frees the occupied memory.</para>
and frees the occupied memory.
</para>
</refsect1>
</refentry>
@ -273,7 +295,7 @@ sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../manual.ced"
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil