cynic           Mon Feb  5 04:45:56 2001 EDT

  Added files:                 
    /phpdoc/cs/functions        sem.xml 
  Log:
  should be completely translated
  
  

Index: phpdoc/cs/functions/sem.xml
+++ phpdoc/cs/functions/sem.xml
 <reference id="ref.sem">
  <title>Funkce pro práci se semafory a sdílenou pamětí</title>
  <titleabbrev>Semaphore</titleabbrev>

  <partintro>
   <para>
    Tato extenze poskytuje semaforové funkce využívající System V semafory.
    Semafory se dají používat k poskytování exkluzivního přístupu k prostředkům
    na daném systému, nebo k omezení počtu procesů, které mohou současně používat
    určitý prostředek.
   </para>
   <para>
    Tato extenze také poskytuje funkce pro práci se sdílenou pamětí využívající
    System V sdílenou paměť. Sdílená pmět se dá používat k poskytování přístupu
    ke globálním proměnným. Různí httpd-daemoni a dokonce i jiné programy (např.
    Perl, C, ...) mohou k těmto datům přistupovat, a vytvořit tak globální výměnu
    dat. Pamatujte, že sdílená paměť <emphasis>není</emphasis> chráněna proti
    simultáním přístupům. K synchronizaci použijte semafory.
    <table>
     <title>Omezení sdílené paměti systémem Unix</title>
     <tgroup cols="2">
      <tbody>
       <row>
        <entry>SHMMAX</entry>
        <entry>max. velikost sdílené paměti, normálně 131072 bytů</entry>
       </row>
       <row>
        <entry>SHMMIN</entry>
        <entry>min. velikost sdílené paměti, normálne 1 byte</entry>
       </row>
       <row>
        <entry>SHMMNI</entry>
        <entry>max. počet segmentů sdílené paměti, normálně 100</entry>
       </row>
       <row>
        <entry>SHMSEG</entry>
        <entry>max. počet segmentů sdílené paměti na proces, normálně 6</entry>
       </row>
      </tbody>
     </tgroup>
    </table>
   </para>
   <note>
    <simpara>
     Tyto funkce nefungují na Windows.
    </simpara>
   </note>
  </partintro>

  <refentry id="function.sem-get">
   <refnamediv>
    <refname>sem_get</refname>
    <refpurpose>Získat id semaforu</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Popis</title>
    <funcsynopsis>
     <funcprototype>
      <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>
     </funcprototype>
    </funcsynopsis>
    <para>
     Vrací idenfifikátor semaforu nebo <literal>false</literal>.
    </para>
    <para>
     <function>sem_get</function> vrací id, které se dá použít k přístupu k
     System V semaforu s daným klíčem. Podle potřeby se vytvoří nový semafor
     s přístupovými právy definovanými v <parameter>perm</parameter> (default je
     0666). Počet procesů, které mohou tento semafor získat současně je
     <parameter>max_acquire</parameter> (default je 1). Tato hodnota je ale
     nastavena pouze pokud tento proces zjistí, že k tomuto semaforu není současně
     připojen jiný proces.
    </para>
    <para>
     Druhé volání <function>sem_get</function> se stejným <parameter>key</parameter>
     vrátí jiný identifikátor semaforu, ale oba identifikátory ukazují na stejný
     semafor.
    </para>
    <para>
     Viz také: <function>sem_acquire</function> a
     <function>sem_release</function>.
    </para>
    <note>
     <simpara>
      Tato funkce nefunguje na Windows.
     </simpara>
    </note>
   </refsect1>
  </refentry>

  <refentry id="function.sem-acquire">
   <refnamediv>
    <refname>sem_acquire</refname>
    <refpurpose>Získat semafor</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Popis</title>
    <funcsynopsis>
     <funcprototype>
      <funcdef>int <function>sem_acquire</function></funcdef>
      <paramdef>int <parameter>sem_identifier</parameter></paramdef>
     </funcprototype>
    </funcsynopsis>
    <para>
     Při úspěchu vrací <literal>true</literal>, při chybě
     <literal>false</literal>.
    </para>
    <para>
     <function>sem_acquire</function> blokuje (pokud je optřeba) až do získání
     semaforu. Proces pokoušející se získat semafor, který už získal bude
     blokovat navěky, pokud by získání tohoto semaforu způsobilo překročení jeho
     hodnoty max_acquire.
    </para>
    <para>
     Po zpracování požadavku se všechny získané, ale explicitně neuvolněné
     semafoty uvolní automaticky, a vygeneruje se varování.
    </para>
    <para>
     Viz také: <function>sem_get</function> a
     <function>sem_release</function>.
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.sem-release">
   <refnamediv>
    <refname>sem_release</refname>
    <refpurpose>Uvolnit semafor</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Popis</title>
    <funcsynopsis>
     <funcprototype>
      <funcdef>int <function>sem_release</function></funcdef>
      <paramdef>int <parameter>sem_identifier</parameter></paramdef>
     </funcprototype>
    </funcsynopsis>
    <para>
     Při úspěchu vrací <literal>true</literal>, jinak <literal>false</literal>.
    </para>
    <para>
     <function>sem_release</function> uvolňí semafor, pokud ho volající proces
     drží, jinak se vygeneruje varování.
    </para>
    <para>
      Po uvolnění může být semafor znovu získán pomocí
      <function>sem_acquire</function>.
    </para>
    <para>
     Viz také: <function>sem_get</function> a
     <function>sem_acquire</function>.
    </para>
    <note>
     <simpara>
      Tato funkce nefunguje na Windows.
     </simpara>
    </note>
   </refsect1>
  </refentry>

  <refentry id="function.shm-attach">
   <refnamediv>
    <refname>shm_attach</refname>
    <refpurpose>Vytvořit nebo otevřít segment sdílené paměti</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Popis</title>
    <funcsynopsis>
     <funcprototype>
      <funcdef>int <function>shm_attach</function></funcdef>
      <paramdef>int <parameter>key</parameter></paramdef>
      <paramdef>int
       <parameter><optional>memsize</optional></parameter>
      </paramdef>
      <paramdef>int
       <parameter><optional>perm</optional></parameter>
      </paramdef>
     </funcprototype>
    </funcsynopsis>
    <para>
     <function>shm_attach</function> vrací id, které se dá použít k přístupu k
     System V sdílené paměti s daným klíčem; první volání vytvoří segment paměti
     o velikosti mem_size (default: sysvshm.init_mem v <link
     linkend="configuration.file">konfiguračním souboru</link>, jinak
     10000 bytů) a s volitelnými právy (default: 0666).
    </para>
    <para>
     Druhé volání <function>shm_attach</function> se stejným
     <parameter>key</parameter> vrátí jiný identifikáto, ale oba ukazují na
     stejnou sdílenou paměť. <parameter>memsize</parameter> a
     <parameter>perm</parameter> se v takovém případě ignorují.
    </para>
    <note>
     <simpara>
      Tato funkce nefunguje na Windows.
     </simpara>
    </note>
   </refsect1>
  </refentry>

  <refentry id="function.shm-detach">
   <refnamediv>
    <refname>shm_detach</refname>
    <refpurpose>Odpojit se od segmentu sdílené paměti</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Popis</title>
    <funcsynopsis>
     <funcprototype>
      <funcdef>int <function>shm_detach</function></funcdef>
      <paramdef>int <parameter>shm_identifier</parameter></paramdef>
     </funcprototype>
    </funcsynopsis>
    <para>
     <function>shm_detach</function> odpojuje od sdílené paměti identifikované
     <parameter>shm_identifier</parameter> vytvořeným
     <function>shm_attach</function>. Pamatujte, že tato sdílená paměť dál
     existuje a drží si data.
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.shm-remove">
   <refnamediv>
    <refname>shm_remove</refname>
    <refpurpose>Odstranit sdílenou paměť ze systému</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Popis</title>
    <funcsynopsis>
     <funcprototype>
      <funcdef>int <function>shm_remove</function></funcdef>
      <paramdef>int <parameter>shm_identifier</parameter></paramdef>
     </funcprototype>
    </funcsynopsis>
    <para>
     Odstraní sdílenou paměť z UNIXového systému. Všechna data v ní budou zničena.
    </para>
    <note>
     <simpara>
      Tato funkce nefunguje na Windows.
     </simpara>
    </note>
   </refsect1>
  </refentry>

  <refentry id="function.shm-put-var">
   <refnamediv>
    <refname>shm_put_var</refname>
    <refpurpose>Vložit nebo modifikovat proměnnou do sdílené paměti</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Popis</title>
    <funcsynopsis>
     <funcprototype>
      <funcdef>int <function>shm_put_var</function></funcdef>
      <paramdef>int <parameter>shm_identifier</parameter></paramdef>
      <paramdef>int <parameter>variable_key</parameter></paramdef>
      <paramdef>mixed <parameter>variable</parameter></paramdef>
     </funcprototype>
    </funcsynopsis>
    <para>
     Vloží nebo modifikuje <parameter>variable</parameter> s daným
     <parameter>variable_key</parameter>. Všechny typy proměnných (double,
     int, string, array) jsou podporovány.
    </para>
    <note>
     <simpara>
      Tato funkce nefunguje na Windows.
     </simpara>
    </note>
   </refsect1>
  </refentry>

  <refentry id="function.shm-get-var">
   <refnamediv>
    <refname>shm_get_var</refname>
    <refpurpose>Vrátit proměnnou ze sdílené paměti</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Popis</title>
    <funcsynopsis>
     <funcprototype>
      <funcdef>mixed <function>shm_get_var</function></funcdef>
      <paramdef>int <parameter>id</parameter></paramdef>
      <paramdef>int <parameter>variable_key</parameter></paramdef>
     </funcprototype>
    </funcsynopsis>
    <para>
     <function>shm_get_var</function> vrací proměnnou s daným
     <parameter>variable_key</parameter>. Proměnná zůstává ve sdílené paměti.
    </para>
    <note>
     <simpara>
      Tato funkce nefunguje na Windows.
     </simpara>
    </note>
   </refsect1>
  </refentry>

  <refentry id="function.shm-remove-var">
   <refnamediv>
    <refname>shm_remove_var</refname>
    <refpurpose>Odstranit proměnnou ze sdílené paměti</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Popis</title>
    <funcsynopsis>
     <funcprototype>
      <funcdef>int <function>shm_remove_var</function></funcdef>
      <paramdef>int <parameter>id</parameter></paramdef>
      <paramdef>int <parameter>variable_key</parameter></paramdef>
     </funcprototype>
    </funcsynopsis>
    <para>
     Odstraní proměnnou s daným<parameter>variable_key</parameter> a uvolní
     zabranou paměť.
    </para>
    <note>
     <simpara>
      Tato funkce nefunguje na Windows.
     </simpara>
    </note>
   </refsect1>
  </refentry>

</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
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->

Reply via email to