<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.sem.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'function.sem-acquire.php',
    1 => 'sem_acquire',
    2 => 'Reserva un sem&aacute;foro',
  ),
  'up' => 
  array (
    0 => 'ref.sem.php',
    1 => 'Funciones de Sem&aacute;foro',
  ),
  'prev' => 
  array (
    0 => 'function.msg-stat-queue.php',
    1 => 'msg_stat_queue',
  ),
  'next' => 
  array (
    0 => 'function.sem-get.php',
    1 => 'sem_get',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/sem/functions/sem-acquire.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.sem-acquire" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">sem_acquire</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">sem_acquire</span> &mdash; <span class="dc-title">Reserva un semáforo</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.sem-acquire-description">
  <h3 class="title">Descripción</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>sem_acquire</strong></span>(<span class="methodparam"><span class="type"><a href="class.sysvsemaphore.php" class="type SysvSemaphore">SysvSemaphore</a></span> <code class="parameter">$semaphore</code></span>, <span class="methodparam"><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span> <code class="parameter">$non_blocking</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong></span></span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>

  <p class="simpara">
   <span class="function"><strong>sem_acquire()</strong></span> se bloquea por omisión
   (si es necesario) hasta que el semáforo pueda ser reservado.
   Un proceso que intenta reservar un semáforo que ya ha
   reservado quedará en espera indefinida, si esta adquisición excede
   el número máximo de adquisiciones simultáneas (max_acquire).
  </p>
  <p class="simpara">
   Al final de un script, todos los semáforos reservados
   pero no liberados explícitamente, serán liberados
   automáticamente, y se generará una advertencia.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.sem-acquire-parameters">
  <h3 class="title">Parámetros</h3>
  <dl>
   
    <dt><code class="parameter">semaphore</code></dt>
    <dd>
     <span class="simpara">
      <code class="parameter">semaphore</code> es un recurso de
      semáforo, obtenido de la función <span class="function"><a href="function.sem-get.php" class="function">sem_get()</a></span>.
     </span>
    </dd>
   
   
    <dt><code class="parameter">non_blocking</code></dt>
    <dd>
     <span class="simpara">
      Especifica si el proceso no debe esperar la adquisición del semáforo.
      Si es <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, la llamada devolverá
      <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> inmediatamente si un semáforo no puede ser
      adquirido inmediatamente.
     </span>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.sem-acquire-returnvalues">
  <h3 class="title">Valores devueltos</h3>
  <p class="simpara">
   Esta función retorna <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> en caso de éxito o <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> si ocurre un error.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.sem-acquire-changelog">
  <h3 class="title">Historial de cambios</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Versión</th>
      <th>Descripción</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>8.0.0</td>
      <td>
       <code class="parameter">semaphore</code> ahora espera una <span class="classname"><a href="class.sysvsemaphore.php" class="classname">SysvSemaphore</a></span>;
       anteriormente, se esperaba un <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span>.
      </td>
     </tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 seealso" id="refsect1-function.sem-acquire-seealso">
  <h3 class="title">Ver también</h3>
  <ul class="simplelist">
   <li><span class="function"><a href="function.sem-get.php" class="function" rel="rdfs-seeAlso">sem_get()</a> - Retorna un identificador de sem&aacute;foro</span></li>
   <li><span class="function"><a href="function.sem-release.php" class="function" rel="rdfs-seeAlso">sem_release()</a> - Libera un sem&aacute;foro</span></li>
  </ul>
 </div>


</div><?php manual_footer($setup); ?>