initial translation

This commit is contained in:
Leonardo Lara Rodrigues
2025-05-14 16:49:10 -03:00
parent b04b276390
commit 85c9bab042
34 changed files with 3245 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 46a9cdd2dbef4ec89bf65fad9930e2feb78bbb98 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<book xml:id="book.scoutapm" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<?phpdoc extension-membership="pecl" ?>
<title>ScoutAPM</title>
<titleabbrev>ScoutAPM</titleabbrev>
<preface xml:id="intro.scoutapm">
&reftitle.intro;
<para>
&note.no-windows.extension;
</para>
<para>
A extensão do ScoutAPM para PHP oferece recursos adicionais ao monitoramento de aplicativos
além de usar apenas a biblioteca base do ambiente de usuário do PHP.
</para>
</preface>
&reference.scoutapm.setup;
&reference.scoutapm.reference;
</book>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 8329edef916180162edd6e7c462fbe640d9db6af Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<section xml:id="scoutapm.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.install;
<para>
&pecl.info;
<link xlink:href="&url.pecl.package;scoutapm">&url.pecl.package;scoutapm</link>
</para>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,108 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 410e060b066700e20e757fa8db0f6705dc22b3af Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.scoutapm-get-calls" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>scoutapm_get_calls</refname>
<refpurpose>Retorna uma lista de chamadas instrumentadas que ocorreram</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>scoutapm_get_calls</methodname>
<void />
</methodsynopsis>
<para>Retorna uma lista de todas as chamadas de função instrumentadas desde a última chamada de <function>scoutapm_get_calls</function>. A lista é limpa sempre que a função é chamada.</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<function>scoutapm_get_calls</function> retorna um array contendo uma lista
de todas as chamadas registradas a funções instrumentadas.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example><title>Buscando chamadas instrumentadas</title>
<programlisting role="php">
<![CDATA[
<?php
file_get_contents('a.txt');
file_get_contents('b.txt');
print_r(scoutapm_get_calls());
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Array
(
[0] => Array
(
[function] => file_get_contents
[entered] => 1576839727.7934
[exited] => 1576839727.7935
[time_taken] => 2.7894973754883E-5
[argv] => Array
(
[0] => a.txt
)
)
[1] => Array
(
[function] => file_get_contents
[entered] => 1576839727.7935
[exited] => 1576839727.7935
[time_taken] => 7.8678131103516E-6
[argv] => Array
(
[0] => b.txt
)
)
)
]]>
</screen>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,88 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 410e060b066700e20e757fa8db0f6705dc22b3af Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.scoutapm-list-instrumented-functions" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>scoutapm_list_instrumented_functions</refname>
<refpurpose>Lista funções que o scoutapm irá instrumentar</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>scoutapm_list_instrumented_functions</methodname>
<void />
</methodsynopsis>
<para>Retorna uma lista das funções que a extensão instrumentará.</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<function>scoutapm_list_instrumented_functions</function> retorna um array
contendo uma lista de todas as funções que a extensão scoutapm é capaz de
instrumentar na instalação atual.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example><title>Buscando a lista de funções que o scoutapm irá instrumentar</title>
<programlisting role="php">
<![CDATA[
<?php
print_r(scoutapm_list_instrumented_functions());
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Array
(
[0] => file_get_contents
[1] => file_put_contents
[2] => fopen
[3] => fread
[4] => fwrite
[5] => pdo->exec
[6] => pdo->query
[7] => pdo->prepare
[8] => pdostatement->execute
)
]]>
</screen>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 8329edef916180162edd6e7c462fbe640d9db6af Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<reference xml:id="ref.scoutapm" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>&Functions; de ScoutAPM</title>
&reference.scoutapm.entities.functions;
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 765b2d6eec7dfbaeed900b32aa91a1360d73df42 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<chapter xml:id="scoutapm.setup" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.setup;
<section xml:id="scoutapm.requirements">
&reftitle.required;
<para>
<itemizedlist>
<listitem>
<simpara>PHP &gt;= 7.1.0</simpara>
</listitem>
<listitem>
<simpara>O Windows não é compatível no momento</simpara>
</listitem>
</itemizedlist>
</para>
</section>
<section xml:id="scoutapm.installation">
&reftitle.install;
<para>
Esta extensão está disponível no PECL. Execute:
<programlisting>
<![CDATA[
$ sudo pecl install scoutapm
]]>
</programlisting>
Talvez seja necessário adicionar o Scout ao seu <emphasis>php.ini</emphasis>, por exemplo:
<programlisting>
<![CDATA[
extension=scoutapm.so
]]>
</programlisting>
</para>
</section>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

103
reference/sem/book.xml Normal file
View File

@@ -0,0 +1,103 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: e50e79746736dbdfbabe9bd3566793b3ddf38f58 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<book xml:id="book.sem" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<?phpdoc extension-membership="bundled" ?>
<title>Semáforos, Memória Compartilhada e Comunicação entre Processos</title>
<titleabbrev>Semaphore</titleabbrev>
<!-- {{{ preface -->
<preface xml:id="intro.sem">
&reftitle.intro;
<para>
Esses módulos fornecem encapsulamento para a família de funções IPC do System V.
Inclui semáforos, memória compartilhada e mensagens entre processos (IPC).
</para>
<para>
Semáforos podem ser usados para fornecer acesso exclusivo a
recursos na máquina atual ou para limitar o número de
processos que podem usar um recurso simultaneamente.
</para>
<para>
Este módulo também fornece funções de memória compartilhada usando a memória
compartilhada do System V. A memória compartilhada pode ser usada para fornecer acesso a
variáveis globais. Diferentes daemons httpd e até mesmo outros programas
(como Perl, C, ...) são capazes de acessar esses dados para fornecer uma
troca global de dados. Lembre-se de que a memória compartilhada NÃO é segura
contra acesso simultâneo. Use semáforos para sincronização.
<table>
<title>Limites de memória compartilhada pelo sistema operacional Unix</title>
<tgroup cols="2">
<tbody>
<row>
<entry>SHMMAX</entry>
<entry>tamanho máximo da memória compartilhada, normalmente 131072 bytes</entry>
</row>
<row>
<entry>SHMMIN</entry>
<entry>tamanho mínimo de memória compartilhada, normalmente 1 byte</entry>
</row>
<row>
<entry>SHMMNI</entry>
<entry>
quantidade máxima de segmentos de memória compartilhada em um sistema,
normalmente 100
</entry>
</row>
<row>
<entry>SHMSEG</entry>
<entry>
quantidade máxima de segmentos de memória compartilhada por processo, normalmente 6
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
As funções de mensagens podem ser usadas para enviar e receber mensagens de/para
outros processos. Elas fornecem um meio simples e eficaz de trocar
dados entre processos, sem a necessidade de configurar uma alternativa
usando soquetes de domínio Unix.
</para>
<note>
<simpara>
Somente as funções de memória compartilhada e <function>ftok</function> estão disponíveis
no Windows. Nem semáforos nem funções de mensagens entre processos são
suportadas nessa plataforma.
</simpara>
</note>
</preface>
<!-- }}} -->
&reference.sem.setup;
&reference.sem.constants;
&reference.sem.reference;
&reference.sem.sysvmessagequeue;
&reference.sem.sysvsemaphore;
&reference.sem.sysvsharedmemory;
</book>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<section xml:id="sem.installation" xmlns="http://docbook.org/ns/docbook">
&reftitle.install;
<para>
O suporte para essas funções não está habilitado por padrão.
Para habilitar o suporte a semáforos do System V, compile o PHP com a opção
<option role="configure">--enable-sysvsem</option>.
Para habilitar o suporte a memória compartilhada do System V, compile o PHP com a opção
<option role="configure">--enable-sysvshm</option>.
Para habilitar o suporte a mensagens do System V, compile o PHP com a opção
<option role="configure">--enable-sysvmsg</option>.
</para>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: fa2d2496e1ec320195a734549110d913a423d012 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<appendix xml:id="sem.constants" xmlns="http://docbook.org/ns/docbook">
&reftitle.constants;
&extension.constants;
<variablelist>
<varlistentry xml:id="constant.msg-ipc-nowait">
<term>
<constant>MSG_IPC_NOWAIT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.msg-eagain">
<term>
<constant>MSG_EAGAIN</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.msg-enomsg">
<term>
<constant>MSG_ENOMSG</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.msg-noerror">
<term>
<constant>MSG_NOERROR</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.msg-except">
<term>
<constant>MSG_EXCEPT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
</variablelist>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 0c9c2dd669fe9395eaa73d487fbd160f9057429a Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.ftok" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>ftok</refname>
<refpurpose>Converte um nome de caminho e um identificador de projeto em uma chave IPC do System V</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>ftok</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
<methodparam><type>string</type><parameter>project_id</parameter></methodparam>
</methodsynopsis>
<para>
A função converte o <parameter>filename</parameter> de um arquivo acessível existente
e um identificador de projeto em um
<literal>integer</literal> para uso com, por exemplo,
<function>shmop_open</function> e outras chaves IPC do System V.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
Caminho para um arquivo acessível.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>project_id</parameter></term>
<listitem>
<para>
Identificador do projeto. Deve ser uma string de um caractere.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Em caso de sucesso, o valor de retorno será o valor da chave criada; caso contrário,
<literal>-1</literal> será retornado.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>shmop_open</function></member>
<member><function>sem_get</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,119 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f7e33278a909d7f7bf491f77cb10c93581091736 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.msg-get-queue" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>msg_get_queue</refname>
<refpurpose>Cria ou anexa a uma fila de mensagens</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>SysvMessageQueue</type><type>false</type></type><methodname>msg_get_queue</methodname>
<methodparam><type>int</type><parameter>key</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>permissions</parameter><initializer>0666</initializer></methodparam>
</methodsynopsis>
<para>
<function>msg_get_queue</function> retorna um ID que pode ser usado para
acessar a fila de mensagens do System V com a
chave <parameter>key</parameter> fornecida. A primeira chamada cria a fila de mensagens com
as permissões opcionais em <parameter>permissions</parameter>.
Uma segunda chamada para <function>msg_get_queue</function> para a mesma
<parameter>chave</parameter> retornará um identificador de fila de mensagens
diferente, mas ambos os identificadores acessam a mesma fila de mensagens
subjacente.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
ID numérico da fila de mensagens
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>permissions</parameter></term>
<listitem>
<para>
Permissões da fila. O padrão é 0666. Se a fila de mensagens já
existir, o parâmetro <parameter>permissions</parameter> será ignorado.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retorna a instância de <classname>SysvMessageQueue</classname> que pode ser usada para acessar a fila de mensagens do System V,
&return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
Em caso de sucesso, esta função retorna uma instância de <classname>SysvMessageQueue</classname>;
anteriormente, um <type>resource</type> era retornado.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>msg_remove_queue</function></member>
<member><function>msg_receive</function></member>
<member><function>msg_send</function></member>
<member><function>msg_stat_queue</function></member>
<member><function>msg_set_queue</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,75 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.msg-queue-exists">
<refnamediv>
<refname>msg_queue_exists</refname>
<refpurpose>Verifica se existe uma fila de mensagens</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>msg_queue_exists</methodname>
<methodparam><type>int</type><parameter>key</parameter></methodparam>
</methodsynopsis>
<para>
Verifica se a fila de mensagens <parameter>key</parameter> existe.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
Chave da fila.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>msg_remove_queue</function></member>
<member><function>msg_receive</function></member>
<member><function>msg_stat_queue</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,227 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f7e33278a909d7f7bf491f77cb10c93581091736 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.msg-receive" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>msg_receive</refname>
<refpurpose>Recebe uma mensagem de uma fila de mensagens</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>msg_receive</methodname>
<methodparam><type>SysvMessageQueue</type><parameter>queue</parameter></methodparam>
<methodparam><type>int</type><parameter>desired_message_type</parameter></methodparam>
<methodparam><type>int</type><parameter role="reference">received_message_type</parameter></methodparam>
<methodparam><type>int</type><parameter>max_message_size</parameter></methodparam>
<methodparam><type>mixed</type><parameter role="reference">message</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>unserialize</parameter><initializer>&true;</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>flags</parameter><initializer>0</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter role="reference">error_code</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
<function>msg_receive</function> receberá a primeira mensagem da
fila <parameter>queue</parameter> especificada, do tipo especificado por
<parameter>desired_message_type</parameter>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>queue</parameter></term>
<listitem>
<para>
A fila de mensagens.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>desired_message_type</parameter></term>
<listitem>
<para>
Se <parameter>desired_message_type</parameter> for 0, a mensagem do início
da fila será retornada. Se <parameter>desired_message_type</parameter> for
maior que 0, a primeira mensagem desse tipo será retornada.
Se <parameter>desired_message_type</parameter> for menor que 0, a primeira
mensagem na fila com um tipo menor ou igual ao
valor absoluto de <parameter>desired_message_type</parameter> será lida.
Se nenhuma mensagem corresponder aos critérios, seu script aguardará até que uma
mensagem adequada chegue à fila. Pode-se impedir que o script bloqueie
especificando <constant>MSG_IPC_NOWAIT</constant> no
parâmetro <parameter>flags</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>received_message_type</parameter></term>
<listitem>
<para>
O tipo de mensagem recebida será armazenado neste
parâmetro.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>max_message_size</parameter></term>
<listitem>
<para>
O tamanho máximo da mensagem a ser aceita é especificado pelo
<parameter>max_message_size</parameter>; se a mensagem na fila for maior
que esse tamanho, a função falhará (a menos que se defina
<parameter>flags</parameter> conforme descrito abaixo).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>message</parameter></term>
<listitem>
<para>
A mensagem recebida será armazenada em <parameter>message</parameter>,
a menos que tenham ocorridos erros no recebimento da mensagem.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>unserialize</parameter></term>
<listitem>
<para>
Se definido como
&true;, a mensagem será tratada como se tivesse sido serializada usando o
mesmo mecanismo do módulo de sessão. A mensagem será desserializada
e então retornada ao script. Isso permite que se receba facilmente
arrays ou estruturas de objetos complexas de outros scripts PHP, ou se
estiver sendo usado o serializador WDDX, de qualquer fonte compatível com WDDX.
</para>
<para>
Se <parameter>unserialize</parameter> for &false;, a mensagem será
retornada como uma string binária segura.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>flags</parameter></term>
<listitem>
<para>
O parâmetro opcional <parameter>flags</parameter> permite que sejam passados sinalizadores para a
chamada de sistema msgrcv de baixo nível. O padrão é 0, mas pode-se especificar um
ou mais dos seguintes valores (adicionando-os ou usando OR).
<table>
<title>Valores de sinalizadores para msg_receive</title>
<tgroup cols="2">
<tbody>
<row>
<entry><constant>MSG_IPC_NOWAIT</constant></entry>
<entry>Se não houver mensagens de
<parameter>desired_message_type</parameter>, retorna imediatamente e não
espera. A função falhará e retornará um valor inteiro
correspondente a <constant>MSG_ENOMSG</constant>.
</entry>
</row>
<row>
<entry><constant>MSG_EXCEPT</constant></entry>
<entry>Usar este sinalizador em combinação com um
<parameter>desired_message_type</parameter> maior que 0 fará com que a
função receba a primeira mensagem que não seja igual a
<parameter>desired_message_type</parameter>.</entry>
</row>
<row>
<entry><constant>MSG_NOERROR</constant></entry>
<entry>
Se a mensagem for maior que <parameter>max_message_size</parameter>,
definir este sinalizador truncará a mensagem para
<parameter>max_message_size</parameter> e não sinalizará um erro.
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>error_code</parameter></term>
<listitem>
<para>
Se a função falhar, o parâmetro opcional <parameter>error_code</parameter>
será definido como o valor da variável "errno" do sistema.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
<para>
Após a conclusão bem-sucedida, a estrutura de dados da fila de mensagens é atualizada
da seguinte forma: <literal>msg_lrpid</literal> é definido como o ID do
processo do processo chamador, <literal>msg_qnum</literal> é decrementado em 1 e
<literal>msg_rtime</literal> é definido como a hora atual.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>queue</parameter> espera uma instância de <classname>SysvMessageQueue</classname>
agora; anteriormente, um <type>resource</type> era esperado.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>msg_remove_queue</function></member>
<member><function>msg_send</function></member>
<member><function>msg_stat_queue</function></member>
<member><function>msg_set_queue</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,103 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f7e33278a909d7f7bf491f77cb10c93581091736 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.msg-remove-queue" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>msg_remove_queue</refname>
<refpurpose>Destrói uma fila de mensagens</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>msg_remove_queue</methodname>
<methodparam><type>SysvMessageQueue</type><parameter>queue</parameter></methodparam>
</methodsynopsis>
<para>
<function>msg_remove_queue</function> destrói a fila de mensagens especificada
pelo <parameter>queue</parameter>. Use esta função somente quando todos
os processos tiverem terminado de trabalhar com a fila de mensagens e você precisar
liberar os recursos do sistema mantidos por ela.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>queue</parameter></term>
<listitem>
<para>
A fila de mensagens.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>queue</parameter> espera uma instância de <classname>SysvMessageQueue</classname>
agora; anteriormente, um <type>resource</type> era esperado.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>msg_get_queue</function></member>
<member><function>msg_receive</function></member>
<member><function>msg_stat_queue</function></member>
<member><function>msg_set_queue</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,175 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f7e33278a909d7f7bf491f77cb10c93581091736 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.msg-send" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>msg_send</refname>
<refpurpose>Envia uma mensagem para uma fila de mensagens</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>msg_send</methodname>
<methodparam><type>SysvMessageQueue</type><parameter>queue</parameter></methodparam>
<methodparam><type>int</type><parameter>message_type</parameter></methodparam>
<methodparam><type class="union"><type>string</type><type>int</type><type>float</type><type>bool</type></type><parameter>message</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>serialize</parameter><initializer>&true;</initializer></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>blocking</parameter><initializer>&true;</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter role="reference">error_code</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
<function>msg_send</function> envia a mensagem <parameter>message</parameter> do tipo
<parameter>message_type</parameter> (que PRECISA ser maior que 0) para
a fila de mensagens especificada por <parameter>queue</parameter>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>queue</parameter></term>
<listitem>
<para>
A fila de mensagens.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>message_type</parameter></term>
<listitem>
<para>
O tipo da mensagem (PRECISA ser maior que 0).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>message</parameter></term>
<listitem>
<para>
O corpo da mensagem.
</para>
<note>
<para>
Se <parameter>serialize</parameter> definido como &false; for fornecido,
PRECISA ser do tipo: <type>string</type>, <type>int</type>, <type>float</type>
ou <type>bool</type>. Caso contrário, um aviso será emitido.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>serialize</parameter></term>
<listitem>
<para>
O parâmetro opcional <parameter>serialize</parameter> controla como a
mensagem do parâmetro <parameter>message</parameter> é enviada. <parameter>serialize</parameter>
tem como padrão &true;, o que significa que a mensagem em <parameter>message</parameter> é
serializada usando o mesmo mecanismo do módulo de sessão antes de ser
enviada para a fila. Isso permite que arrays e objetos complexos sejam enviados para
outros scripts PHP ou, se estiver sendo usado o serializador WDDX, para qualquer cliente
compatível com WDDX.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>blocking</parameter></term>
<listitem>
<para>
Se a mensagem for muito grande para caber na fila, o script aguardará
até que outro processo leia as mensagens da fila e libere espaço
suficiente para que a mensagem seja enviada.
Isso é chamado de bloqueio; pode-se evitar o bloqueio definindo o
parâmetro opcional <parameter>blocking</parameter> como &false;, nesse
caso, <function>msg_send</function> retornará imediatamente &false; se a
mensagem for muito grande para a fila, e definirá o
<parameter>error_code</parameter> opcional como <constant>MSG_EAGAIN</constant>,
indicando que deve-se tentar enviar a mensagem novamente um pouco
mais tarde.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>error_code</parameter></term>
<listitem>
<para>
Se a função falhar, o código de erro opcional será definido como o valor da variável errno do sistema.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
<para>
Após a conclusão bem-sucedida, a estrutura de dados da fila de mensagens é atualizada da
seguinte forma: <parameter>msg_lspid</parameter> é definido como o ID do
processo do processo chamador, <parameter>msg_qnum</parameter> é incrementado em 1 e
<parameter>msg_stime</parameter> é definido como a hora atual.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>queue</parameter> espera uma instância de <classname>SysvMessageQueue</classname>
agora; anteriormente, um <type>resource</type> era esperado.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>msg_remove_queue</function></member>
<member><function>msg_receive</function></member>
<member><function>msg_stat_queue</function></member>
<member><function>msg_set_queue</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,119 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f7e33278a909d7f7bf491f77cb10c93581091736 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.msg-set-queue" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>msg_set_queue</refname>
<refpurpose>Define informações na estrutura de dados da fila de mensagens</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>msg_set_queue</methodname>
<methodparam><type>SysvMessageQueue</type><parameter>queue</parameter></methodparam>
<methodparam><type>array</type><parameter>data</parameter></methodparam>
</methodsynopsis>
<para>
<function>msg_set_queue</function> permite que sejam alterados os valores dos campos
msg_perm.uid, msg_perm.gid, msg_perm.mode e msg_qbytes da
estrutura de dados da fila de mensagens subjacente.
</para>
<para>
Alterar a estrutura de dados exigirá que o PHP esteja sendo executado como o mesmo
usuário que criou a fila, que seja o proprietário da fila (conforme determinado pelos
campos msg_perm.xxx existentes) ou que esteja sendo executado com privilégios de root.
Privilégios de root são necessários para elevar os valores de msg_qbytes acima do
limite definido pelo sistema.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>queue</parameter></term>
<listitem>
<para>
A fila de mensagens.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>data</parameter></term>
<listitem>
<para>
Os valores necessários são especificados definindo o valor das chaves
necessárias no array <parameter>data</parameter>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>queue</parameter> espera uma instância de <classname>SysvMessageQueue</classname>
agora; anteriormente, um <type>resource</type> era esperado.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>msg_remove_queue</function></member>
<member><function>msg_receive</function></member>
<member><function>msg_stat_queue</function></member>
<member><function>msg_get_queue</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,176 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f7e33278a909d7f7bf491f77cb10c93581091736 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.msg-stat-queue" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>msg_stat_queue</refname>
<refpurpose>Retorna informações da estrutura de dados da fila de mensagens</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>array</type><type>false</type></type><methodname>msg_stat_queue</methodname>
<methodparam><type>SysvMessageQueue</type><parameter>queue</parameter></methodparam>
</methodsynopsis>
<para>
<function>msg_stat_queue</function> retorna os metadados da fila de mensagens
para a fila de mensagens especificada por <parameter>queue</parameter>.
Isso é útil, por exemplo, para determinar qual processo enviou a mensagem
que acabou de receber.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>queue</parameter></term>
<listitem>
<para>
A fila de mensagens.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Em caso de sucesso, o valor de retorno é um array cujas chaves e valores têm os seguintes
significados:
<table>
<title>Array structure for msg_stat_queue</title>
<tgroup cols="2">
<tbody>
<row>
<entry><literal>msg_perm.uid</literal></entry>
<entry>
O uid do proprietário da fila.
</entry>
</row>
<row>
<entry><literal>msg_perm.gid</literal></entry>
<entry>
O gid do proprietário da fila.
</entry>
</row>
<row>
<entry><literal>msg_perm.mode</literal></entry>
<entry>
O modo de acesso ao arquivo da fila.
</entry>
</row>
<row>
<entry><literal>msg_stime</literal></entry>
<entry>
O horário em que a última mensagem foi enviada para a fila.
</entry>
</row>
<row>
<entry><literal>msg_rtime</literal></entry>
<entry>
O horário em que a última mensagem foi recebida da fila.
</entry>
</row>
<row>
<entry><literal>msg_ctime</literal></entry>
<entry>
O horário em que a fila foi alterada pela última vez.
</entry>
</row>
<row>
<entry><literal>msg_qnum</literal></entry>
<entry>
O número de mensagens aguardando para serem lidas na fila.
</entry>
</row>
<row>
<entry><literal>msg_qbytes</literal></entry>
<entry>
O número máximo de bytes permitidos em uma fila de mensagens.
No Linux, este valor pode ser lido e modificado via
<filename>/proc/sys/kernel/msgmnb</filename>.
</entry>
</row>
<row>
<entry><literal>msg_lspid</literal></entry>
<entry>
O pid do processo que enviou a última mensagem para a fila.
</entry>
</row>
<row>
<entry><literal>msg_lrpid</literal></entry>
<entry>
O pid do processo que recebeu a última mensagem da fila.
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
Retorna &false; em caso de falha.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>queue</parameter> espera uma instância de <classname>SysvMessageQueue</classname>
agora; anteriormente, um <type>resource</type> era esperado.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>msg_remove_queue</function></member>
<member><function>msg_receive</function></member>
<member><function>msg_get_queue</function></member>
<member><function>msg_set_queue</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,119 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: cdc9d28d334bbc08386fecf8aade66080004a9dd Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.sem-acquire" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>sem_acquire</refname>
<refpurpose>Adquire um semáforo</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>sem_acquire</methodname>
<methodparam><type>SysvSemaphore</type><parameter>semaphore</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>non_blocking</parameter><initializer>&false;</initializer></methodparam>
</methodsynopsis>
<para>
<function>sem_acquire</function> bloqueia por padrão (se necessário) até que
o semáforo possa ser adquirido. Um processo que tenta adquirir um semáforo que
já adquiriu bloqueará para sempre se a aquisição do semáforo
fizer com que seu número máximo de semáforos seja excedido.
</para>
<para>
Após o processamento de uma solicitação, quaisquer semáforos adquiridos pelo processo, mas não
explicitamente liberados, serão liberados automaticamente e um alerta será
gerado.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>semaphore</parameter></term>
<listitem>
<para>
<parameter>semaphore</parameter> é um semáforo
obtido de <function>sem_get</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>non_blocking</parameter></term>
<listitem>
<para>
Especifica se o processo não deve aguardar a aquisição do semáforo.
Se definido como &true;, a chamada retornará
&false; imediatamente se um semáforo não puder ser adquirido
imediatamente.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>semaphore</parameter> agora espera uma instância de <classname>SysvSemaphore</classname>;
anteriormente, um <type>resource</type> era esperado.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>sem_get</function></member>
<member><function>sem_release</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,160 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 105769eb557af47e5f2d0bea47457827114942fa Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.sem-get" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>sem_get</refname>
<refpurpose>Obtém um ID de semáforo</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>SysvSemaphore</type><type>false</type></type><methodname>sem_get</methodname>
<methodparam><type>int</type><parameter>key</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>max_acquire</parameter><initializer>1</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>permissions</parameter><initializer>0666</initializer></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>auto_release</parameter><initializer>&true;</initializer></methodparam>
</methodsynopsis>
<para>
<function>sem_get</function> retorna um id que pode ser usado para
acessar o semáforo do System V com a chave fornecida em <parameter>key</parameter>.
</para>
<para>
Uma segunda chamada a <function>sem_get</function> com a mesma chave
retornará um identificador de semáforo diferente, mas ambos
os identificadores acessam o mesmo semáforo subjacente.
</para>
<para>
Se <parameter>key</parameter> for <literal>0</literal>, um novo semáforo privado
será criado para cada chamada a <function>sem_get</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>max_acquire</parameter></term>
<listitem>
<para>
O número de processos que podem adquirir o semáforo simultaneamente
é definido como <parameter>max_acquire</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>permissions</parameter></term>
<listitem>
<para>
As permissões do semáforo. Na verdade, este valor é
definido somente se o processo descobrir que é o único processo atualmente
anexado ao semáforo.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>auto_release</parameter></term>
<listitem>
<para>
Especifica se o semáforo deve ser liberado automaticamente mediante
desligamento da solicitação.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retorna um identificador de semáforo positivo em caso de sucesso, ou &false; em caso de
erro.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
Em caso de sucesso, esta função agora retorna uma instância de <classname>SysvSemaphore</classname>;
anteriormente, um <type>resource</type> era retornado.
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
O tipo de <parameter>auto_release</parameter> foi alterado de
<type>int</type> para <type>bool</type>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<warning>
<simpara>
Ao usar <function>sem_get</function> para acessar um semáforo criado
fora do PHP, observe que o semáforo deve ter sido criado como um conjunto de 3
semáforos (por exemplo, especificando 3 como o parâmetro <literal>nsems</literal>
ao chamar a função <literal>semget()</literal> do C),
caso contrário, o PHP não conseguirá acessar o semáforo.
</simpara>
</warning>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>sem_acquire</function></member>
<member><function>sem_release</function></member>
<member><function>ftok</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,105 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 105769eb557af47e5f2d0bea47457827114942fa Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.sem-release" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>sem_release</refname>
<refpurpose>Libera um semáforo</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>sem_release</methodname>
<methodparam><type>SysvSemaphore</type><parameter>semaphore</parameter></methodparam>
</methodsynopsis>
<para>
<function>sem_release</function> libera o semáforo se ele
estiver sendo adquirido pelo processo de chamada, caso contrário
um aviso será gerado.
</para>
<para>
Após liberar o semáforo, <function>sem_acquire</function>
pode ser chamado para readquiri-lo.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>semaphore</parameter></term>
<listitem>
<para>
Um semáforo retornado por
<function>sem_get</function>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>semaphore</parameter> agora espera uma instância de <classname>SysvSemaphore</classname>;
anteriormente, um <type>resource</type> era esperado.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>sem_get</function></member>
<member><function>sem_acquire</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,103 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 105769eb557af47e5f2d0bea47457827114942fa Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.sem-remove" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>sem_remove</refname>
<refpurpose>Remove um semáforo</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>sem_remove</methodname>
<methodparam><type>SysvSemaphore</type><parameter>semaphore</parameter></methodparam>
</methodsynopsis>
<para>
<function>sem_remove</function> remove o semáforo fornecido.
</para>
<para>
Após remover o semáforo, ele não estará mais acessível.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>semaphore</parameter></term>
<listitem>
<para>
Um semáforo retornado
por <function>sem_get</function>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>semaphore</parameter> agora espera uma instância de <classname>SysvSemaphore</classname>;
anteriormente, um <type>resource</type> era esperado.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>sem_get</function></member>
<member><function>sem_release</function></member>
<member><function>sem_acquire</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,133 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 395ea247cf337110d795979e14841617aa9cefa9 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.shm-attach" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>shm_attach</refname>
<refpurpose>Cria ou abre um segmento de memória compartilhada</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>SysvSharedMemory</type><type>false</type></type><methodname>shm_attach</methodname>
<methodparam><type>int</type><parameter>key</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>size</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>permissions</parameter><initializer>0666</initializer></methodparam>
</methodsynopsis>
<para>
<function>shm_attach</function> retorna um id que pode ser usado para acessar
a memória compartilhada do System V com a chave fornecida em <parameter>key</parameter>. A
primeira chamada cria o segmento de memória compartilhada com
tamanho <parameter>size</parameter> e os bits de permissão opcionais
<parameter>permissions</parameter>.
</para>
<para>
Uma segunda chamada a <function>shm_attach</function> para a mesma
<parameter>key</parameter> retornará uma instância diferente de
<classname>SysvSharedMemory</classname>, mas ambas as instâncias acessam a mesma
memória compartilhada subjacente. <parameter>size</parameter> e
<parameter>permissions</parameter> serão ignorados.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
Um ID numérico de segmento de memória compartilhada
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>size</parameter></term>
<listitem>
<para>
O tamanho da memória. Se não for fornecido, o padrão é
<literal>sysvshm.init_mem</literal> no &php.ini; caso contrário, 10000
bytes.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>permissions</parameter></term>
<listitem>
<para>
Bits de permissão opcionais. Padrão: 0666.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retorna uma instância <classname>SysvSharedMemory</classname> em caso de sucesso, &return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
Em caso de sucesso, esta função retorna uma instância de <classname>SysvSharedMemory</classname>;
anteriormente, um <type>resource</type> era retornado.
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>size</parameter> agora é anulável.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>shm_detach</function></member>
<member><function>ftok</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 395ea247cf337110d795979e14841617aa9cefa9 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.shm-detach" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>shm_detach</refname>
<refpurpose>Desconecta do segmento de memória compartilhada</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>shm_detach</methodname>
<methodparam><type>SysvSharedMemory</type><parameter>shm</parameter></methodparam>
</methodsynopsis>
<para>
<function>shm_detach</function> desconecta-se da memória compartilhada fornecida
pelo <parameter>shm</parameter> criado por
<function>shm_attach</function>. Lembre-se de que a memória compartilhada ainda existe
no sistema Unix e os dados ainda estão presentes.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>shm</parameter></term>
<listitem>
<para>
Um segmento de memória compartilhada obtido de <function>shm_attach</function>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>shm</parameter> espera uma instância de <classname>SysvSharedMemory</classname>
agora; anteriormente, um <type>resource</type> era esperado.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>shm_attach</function></member>
<member><function>shm_remove</function></member>
<member><function>shm_remove_var</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,109 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 395ea247cf337110d795979e14841617aa9cefa9 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.shm-get-var" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>shm_get_var</refname>
<refpurpose>Retorna uma variável da memória compartilhada</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>mixed</type><methodname>shm_get_var</methodname>
<methodparam><type>SysvSharedMemory</type><parameter>shm</parameter></methodparam>
<methodparam><type>int</type><parameter>key</parameter></methodparam>
</methodsynopsis>
<para>
<function>shm_get_var</function> retorna a variável com uma determinada
chave <parameter>key</parameter>, no segmento de memória compartilhada especificado.
A variável ainda ficará presente na memória compartilhada.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>shm</parameter></term>
<listitem>
<para>
Um segmento de memória compartilhada obtido de <function>shm_attach</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
A chave da variável.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retorna a variável com a chave fornecida.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>shm</parameter> espera uma instância de <classname>SysvSharedMemory</classname>
agora; anteriormente, um <type>resource</type> era esperado.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>shm_has_var</function></member>
<member><function>shm_put_var</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,107 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 395ea247cf337110d795979e14841617aa9cefa9 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.shm-has-var" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>shm_has_var</refname>
<refpurpose>Verifica se uma entrada específica existe</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>shm_has_var</methodname>
<methodparam><type>SysvSharedMemory</type><parameter>shm</parameter></methodparam>
<methodparam><type>int</type><parameter>key</parameter></methodparam>
</methodsynopsis>
<para>
Verifica se uma chave específica existe dentro de um segmento de memória compartilhada.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>shm</parameter></term>
<listitem>
<para>
Um segmento de memória compartilhada obtido de <function>shm_attach</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
A chave da variável.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retorna &true; se a entrada existir, caso contrário &false;.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>shm</parameter> espera uma instância de <classname>SysvSharedMemory</classname>
agora; anteriormente, um <type>resource</type> era esperado.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>shm_get_var</function></member>
<member><function>shm_put_var</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,127 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 395ea247cf337110d795979e14841617aa9cefa9 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.shm-put-var" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>shm_put_var</refname>
<refpurpose>Insere ou atualiza uma variável na memória compartilhada</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>shm_put_var</methodname>
<methodparam><type>SysvSharedMemory</type><parameter>shm</parameter></methodparam>
<methodparam><type>int</type><parameter>key</parameter></methodparam>
<methodparam><type>mixed</type><parameter>value</parameter></methodparam>
</methodsynopsis>
<para>
<function>shm_put_var</function> insere ou atualiza o
valor em <parameter>value</parameter> com a
chave fornecida em <parameter>key</parameter>.
</para>
<para>
Alertas (nível <constant>E_WARNING</constant>) serão emitidos se
<parameter>shm</parameter> não for um índice de memória compartilhada SysV válido
ou se não houver memória compartilhada suficiente para concluir sua
solicitação.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>shm</parameter></term>
<listitem>
<para>
Um segmento de memória compartilhada obtido de <function>shm_attach</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
A chave da variável.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>value</parameter></term>
<listitem>
<para>
A variável. Todos os <link linkend="language.types">tipos de variáveis</link>
que <function>serialize</function> suporta podem ser usados: geralmente
isso significa todos os tipos, exceto recursos e alguns objetos internos
que não podem ser serializados.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>shm</parameter> espera uma instância de <classname>SysvSharedMemory</classname>
agora; anteriormente, um <type>resource</type> era esperado.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>shm_get_var</function></member>
<member><function>shm_has_var</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,108 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 395ea247cf337110d795979e14841617aa9cefa9 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.shm-remove-var" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>shm_remove_var</refname>
<refpurpose>Remove uma variável da memória compartilhada
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>shm_remove_var</methodname>
<methodparam><type>SysvSharedMemory</type><parameter>shm</parameter></methodparam>
<methodparam><type>int</type><parameter>key</parameter></methodparam>
</methodsynopsis>
<para>
Remove uma variável com uma determinada chave <parameter>key</parameter>
e libera a memória ocupada.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>shm</parameter></term>
<listitem>
<para>
Um segmento de memória compartilhada obtido de <function>shm_attach</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
A chave da variável.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>shm</parameter> espera uma instância de <classname>SysvSharedMemory</classname>
agora; anteriormente, um <type>resource</type> era esperado.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>shm_remove</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,98 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 395ea247cf337110d795979e14841617aa9cefa9 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xml:id="function.shm-remove" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>shm_remove</refname>
<refpurpose>Remove memória compartilhada de sistemas Unix</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>shm_remove</methodname>
<methodparam><type>SysvSharedMemory</type><parameter>shm</parameter></methodparam>
</methodsynopsis>
<para>
<function>shm_remove</function> remove a memória compartilhada
<parameter>shm</parameter>. Todos os dados serão destruídos.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>shm</parameter></term>
<listitem>
<para>
Um segmento de memória compartilhada obtido de <function>shm_attach</function>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>shm</parameter> espera uma instância de <classname>SysvSharedMemory</classname>
agora; anteriormente, um <type>resource</type> era esperado.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>shm_remove_var</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

75
reference/sem/ini.xml Normal file
View File

@@ -0,0 +1,75 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: d4d5216e7a965ca194f6b1c9dee84cecab2674e5 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<section xml:id="sem.configuration" xmlns="http://docbook.org/ns/docbook">
&reftitle.runtime;
&extension.runtime;
<para>
<table>
<title>Opções de configuração de Semaphore</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody xml:id="sem.configuration.list">
<row>
<entry><link linkend="ini.sysvshm.init-mem">sysvshm.init_mem</link></entry>
<entry>10000</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
&ini.php.constants;
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.sysvshm.init-mem">
<term>
<parameter>sysvshm.init_mem</parameter>
<type>int</type>
</term>
<listitem>
<para>
Um tamanho padrão do segmento de memória compartilhada.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<reference xml:id="ref.sem" xmlns="http://docbook.org/ns/docbook">
<title>&Functions; de Semaphore</title>
&reference.sem.entities.functions;
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

50
reference/sem/setup.xml Normal file
View File

@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 605553e228c78a9368736f4ff36d185cf7e6eb22 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<chapter xml:id="sem.setup" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.setup;
<!-- {{{ Installation -->
&reference.sem.configure;
<!-- }}} -->
<!-- {{{ Configuration -->
&reference.sem.ini;
<!-- }}} -->
<!-- {{{ Resources -->
<section xml:id="sem.resources">
&reftitle.resources;
<para>
Antes do PHP 8.0.0, esta extensão definia os tipos de recursos
<literal>sysvmsg queue</literal> (Fila de Mensagens System V),
<literal>sysvsem</literal> (Semáforos System V) e
<literal>sysvshm</literal> (Memória Compartilhada System V).
</para>
</section>
<!-- }}} -->
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?><!-- EN-Revision: 4d17b7b4947e7819ff5036715dd706be87ae4def Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<reference xml:id="class.sysvmessagequeue" role="class" xmlns="http://docbook.org/ns/docbook">
<title>A classe SysvMessageQueue</title>
<titleabbrev>SysvMessageQueue</titleabbrev>
<partintro>
<!-- {{{ SysvMessageQueue intro -->
<section xml:id="sysvmessagequeue.intro">
&reftitle.intro;
<para>
Uma classe totalmente opaca que substitui um recurso <literal>sysvmsg queue</literal> a partir do PHP 8.0.0.
</para>
</section>
<!-- }}} -->
<section xml:id="sysvmessagequeue.synopsis">
&reftitle.classsynopsis;
<!-- {{{ Synopsis -->
<classsynopsis class="class">
<ooclass>
<modifier>final</modifier>
<classname>SysvMessageQueue</classname>
</ooclass>
</classsynopsis>
<!-- }}} -->
</section>
</partintro>
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?><!-- EN-Revision: 4d17b7b4947e7819ff5036715dd706be87ae4def Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<reference xml:id="class.sysvsemaphore" role="class" xmlns="http://docbook.org/ns/docbook">
<title>A classe SysvSemaphore</title>
<titleabbrev>SysvSemaphore</titleabbrev>
<partintro>
<!-- {{{ SysvSemaphore intro -->
<section xml:id="sysvsemaphore.intro">
&reftitle.intro;
<para>
Uma classe totalmente opaca que substitui um recurso <literal>sysvsem</literal> a partir do PHP 8.0.0.
</para>
</section>
<!-- }}} -->
<section xml:id="sysvsemaphore.synopsis">
&reftitle.classsynopsis;
<!-- {{{ Synopsis -->
<classsynopsis class="class">
<ooclass>
<modifier>final</modifier>
<classname>SysvSemaphore</classname>
</ooclass>
</classsynopsis>
<!-- }}} -->
</section>
</partintro>
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?><!-- EN-Revision: 4d17b7b4947e7819ff5036715dd706be87ae4def Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<reference xml:id="class.sysvsharedmemory" role="class" xmlns="http://docbook.org/ns/docbook">
<title>A classe SysvSharedMemory</title>
<titleabbrev>SysvSharedMemory</titleabbrev>
<partintro>
<!-- {{{ SysvSharedMemory intro -->
<section xml:id="sysvsharedmemory.intro">
&reftitle.intro;
<para>
Uma classe totalmente opaca que substitui um recurso <literal>sysvshm</literal> a partir do PHP 8.0.0.
</para>
</section>
<!-- }}} -->
<section xml:id="sysvsharedmemory.synopsis">
&reftitle.classsynopsis;
<!-- {{{ Synopsis -->
<classsynopsis class="class">
<ooclass>
<modifier>final</modifier>
<classname>SysvSharedMemory</classname>
</ooclass>
</classsynopsis>
<!-- }}} -->
</section>
</partintro>
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->