mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-16 08:58:56 +00:00
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:
parent
169824df9b
commit
041728db89
1 changed files with 84 additions and 62 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue