downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Our source is open

The syntax highlighted source is automatically generated by PHP from the plaintext script. If you're interested in what's behind the several functions we used, you can always take a look at the source of the following files:

Of course, if you want to see the source of this page, we have it available. You can also browse the SVN repository for this website on svn.php.net.

Source of: /manual/en/function.sem-get.php

<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = 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 => 'en',
  ),
 
'this' =>
  array (
   
0 => 'function.sem-get.php',
   
1 => 'sem_get',
  ),
 
'up' =>
  array (
   
0 => 'ref.sem.php',
   
1 => 'Semaphore Functions',
  ),
 
'prev' =>
  array (
   
0 => 'function.sem-acquire.php',
   
1 => 'sem_acquire',
  ),
 
'next' =>
  array (
   
0 => 'function.sem-release.php',
   
1 => 'sem_release',
  ),
);
$setup["toc"] = $TOC;
$setup["parents"] = $PARENTS;
manual_setup($setup);

manual_header();
?>
<div id="function.sem-get" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">sem_get</h1>
  <p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">sem_get</span> &mdash; <span class="dc-title">Get a semaphore id</span></p>

 </div>
 
 <a name="function.sem-get.description"></a><div class="refsect1 description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="type">resource</span> <span class="methodname"><b>sem_get</b></span>
    ( <span class="methodparam"><span class="type">int</span> <tt class="parameter">$key</tt></span>
   [, <span class="methodparam"><span class="type">int</span> <tt class="parameter">$max_acquire</tt></span>
   [, <span class="methodparam"><span class="type">int</span> <tt class="parameter">$perm</tt></span>
   [, <span class="methodparam"><span class="type">int</span> <tt class="parameter">$auto_release</tt></span>
  ]]] )</div>

  <p class="para rdfs-comment">
   <b>sem_get()</b> returns an id that can be used to
   access the System V semaphore with the given <i><tt class="parameter">key</tt></i>
.
  </p>
  <p class="para">
   A second call to <b>sem_get()</b> for the same key
   will return a different semaphore identifier, but both
   identifiers access the same underlying semaphore.
  </p>
 </div>


 <a name="function.sem-get.parameters"></a><div class="refsect1 parameters">
  <h3 class="title">Parameters</h3>
  <p class="para">
   </p><dl>

    <dt class="varlistentry">

     <span class="term"><i><tt class="parameter">key</tt></i>
</span>

     </dt><dd class="listitem">

      <p class="para">
      </p>
     </dd>

   
    <dt class="varlistentry">

     <span class="term"><i><tt class="parameter">max_acquire</tt></i>
</span>

     </dt><dd class="listitem">

      <p class="para">
       The number of processes that can acquire the semaphore simultaneously
       is set to <i><tt class="parameter">max_acquire</tt></i>
 (defaults to 1).
      </p>
     </dd>

   
    <dt class="varlistentry">

     <span class="term"><i><tt class="parameter">perm</tt></i>
</span>

     </dt><dd class="listitem">

      <p class="para">
       The semaphore permissions. Defaults to 0666. Actually this value is
       set only if the process finds it is the only process currently
       attached to the semaphore.
      </p>
     </dd>

   
    <dt class="varlistentry">

     <span class="term"><i><tt class="parameter">auto_release</tt></i>
</span>

     </dt><dd class="listitem">

      <p class="para">
       Specifies if the semaphore should be automatically released on request
       shutdown.
      </p>
     </dd>

   
   </dl>
<p>
  </p>
 </div>


 <a name="function.sem-get.returnvalues"></a><div class="refsect1 returnvalues">
  <h3 class="title">Return Values</h3>
  <p class="para">
   Returns a positive semaphore identifier on success, or <b><tt class="constant">FALSE</tt></b> on
   error.
  </p>
 </div>


 <a name="function.sem-get.changelog"></a><div class="refsect1 changelog">
  <h3 class="title">Changelog</h3>
  <p class="para">
   </p><table class="doctable informaltable">
   
     <thead valign="middle">
      <tr valign="middle">
       <th>Version</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody valign="middle" class="tbody">
      <tr valign="middle">
       <td align="left">4.3.0</td>
       <td align="left">
        The <i><tt class="parameter">auto_release</tt></i>
 parameter was added.
       </td>
      </tr>

     </tbody>
   
   </table>
<p>
  </p>
 </div>


 <a name="function.sem-get.seealso"></a><div class="refsect1 seealso">
  <h3 class="title">See Also</h3>
  <p class="para">
   </p><ul class="simplelist">
    <li class="member"><a href="function.sem-acquire.php" class="function" rel="rdfs-seeAlso">sem_acquire()</a> - Acquire a semaphore</li>
    <li class="member"><a href="function.sem-release.php" class="function" rel="rdfs-seeAlso">sem_release()</a> - Release a semaphore</li>
    <li class="member"><a href="function.ftok.php" class="function" rel="rdfs-seeAlso">ftok()</a> - Convert a pathname and a project identifier to a System V IPC key</li>
   </ul><p>
  </p>
 </div>
 

</div><?php manual_footer(); ?>
 
show source | credits | sitemap | contact | advertising | mirror sites