Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > media > main-release > by-pkgid > a00abf5f94bf470fd4cc9e10b2d135e0 > files > 61

lib64db4.8-devel-4.8.26-1mdv2010.1.x86_64.rpm

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>db_env_set_func_yield</title>
    <link rel="stylesheet" href="apiReference.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB C API Reference" />
    <link rel="up" href="setfunc.html" title="Appendix 3.  Berkeley DB Application Space Static Functions" />
    <link rel="prev" href="db_env_set_func_write.html" title="db_env_set_func_write" />
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">db_env_set_func_yield</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="db_env_set_func_write.html">Prev</a> </td>
          <th width="60%" align="center">Appendix 3. 
                Berkeley DB Application Space Static Functions
        </th>
          <td width="20%" align="right"> </td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="db_env_set_func_yield"></a>db_env_set_func_yield</h2>
          </div>
        </div>
      </div>
      <pre class="programlisting">#include &lt;db.h&gt;

int
db_env_set_func_yield(int (*func_yield)(u_long secs, u_long usecs));  </pre>
      <p>
         The Berkeley DB library requires the ability to yield the processor
         from the current thread of control to any other waiting threads of
         control.
    </p>
      <p>
         The <span class="bold"><strong>func_yield</strong></span> function must be able
         to cause the rescheduling of all participants in the current Berkeley
         DB environment, whether threaded or not.  It may be incorrect to
         supply a thread <span class="bold"><strong>yield</strong></span> function if
         more than a single process is operating in the Berkeley DB
         environment. This is because many thread-yield functions will not
         allow other processes to run, and the contested lock may be held by
         another process, not by another thread.
    </p>
      <p>
         The <code class="function">db_env_set_func_yield()</code> function configures all operations performed
         by a process and all of its threads of control, not operations
         confined to a single database environment.
    </p>
      <p>
         Although the <code class="function">db_env_set_func_yield()</code> function may be called at any time
         during the life of the application, it should normally be called
         before making calls to the <a class="xref" href="envcreate.html" title="db_env_create">db_env_create</a> or
         <a class="xref" href="dbcreate.html" title="db_create">db_create</a> methods.
    </p>
      <p>
         The <code class="function">db_env_set_func_yield()</code> <span>
                  function returns a non-zero error value on failure and 0 on success.
            </span>
    </p>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="id1721496"></a>Parameters</h3>
            </div>
          </div>
        </div>
        <div class="sect3" lang="en" xml:lang="en">
          <div class="titlepage">
            <div>
              <div>
                <h4 class="title"><a id="id1721389"></a>func_yield</h4>
              </div>
            </div>
          </div>
          <p>
                          The <span class="bold"><strong>func_yield</strong></span> parameter is the
                          function which yields the processor.
                      </p>
          <p>
                          The <span class="bold"><strong>secs</strong></span> parameter is the number of
                          seconds to pause before the thread of control should run again, or 0.
                     </p>
          <p>
                          The <span class="bold"><strong>usecs</strong></span> parameter is the number of
                          microseconds to pause before the thread of control should run again,
                          or 0.
                     </p>
          <p>
                          The <span class="bold"><strong>func_yield</strong></span> function must return
                          the value of <span class="bold"><strong>errno</strong></span> on failure and 0
                          on success.
                     </p>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="id1721642"></a>See Also</h3>
            </div>
          </div>
        </div>
        <p>
          <a href="../../programmer_reference/program_runtime.html" class="olink">Run-time configuration</a>
     </p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="db_env_set_func_write.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="setfunc.html">Up</a>
          </td>
          <td width="40%" align="right"> </td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">db_env_set_func_write </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> </td>
        </tr>
      </table>
    </div>
  </body>
</html>