libdb/docs/programmer_reference/program_faq.html
2012-11-14 16:35:20 -05:00

109 lines
4.6 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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>Programmer notes FAQ</title>
<link rel="stylesheet" href="gettingStarted.css" type="text/css" />
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
<link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" />
<link rel="up" href="program.html" title="Chapter 15.  Programmer Notes" />
<link rel="prev" href="program_perfmon.html" title="Performance Event Monitoring" />
<link rel="next" href="lock.html" title="Chapter 16.  The Locking Subsystem" />
</head>
<body>
<div xmlns="" class="navheader">
<div class="libver">
<p>Library Version 11.2.5.3</p>
</div>
<table width="100%" summary="Navigation header">
<tr>
<th colspan="3" align="center">Programmer notes FAQ</th>
</tr>
<tr>
<td width="20%" align="left"><a accesskey="p" href="program_perfmon.html">Prev</a> </td>
<th width="60%" align="center">Chapter 15. 
Programmer Notes
</th>
<td width="20%" align="right"> <a accesskey="n" href="lock.html">Next</a></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="program_faq"></a>Programmer notes FAQ</h2>
</div>
</div>
</div>
<div class="orderedlist">
<ol type="1">
<li>
<span class="bold">
<strong>What priorities should threads/tasks executing Berkeley DB functions
be given?</strong>
</span>
<p>Tasks executing Berkeley DB functions should have the same, or roughly
equivalent, system priorities. For example, it can be dangerous to give
tasks of control performing checkpoints a lower priority than tasks of
control doing database lookups, and starvation can sometimes result.</p>
</li>
<li>
<span class="bold">
<strong>Why isn't the C++ API exception safe?</strong>
</span>
<p>The Berkeley DB C++ API is a thin wrapper around the C API that maps most
return values to exceptions, and gives the C++ handles the same
lifecycles as their C counterparts. One consequence is that if an
exception occurs while a cursor or transaction handle is open, the
application must explicitly close the cursor or abort the transaction.</p>
<p>Applications can be simplified and bugs avoided by creating wrapper
classes around <a href="../api_reference/C/dbc.html" class="olink">DBC</a> and <a href="../api_reference/C/txn.html" class="olink">TXN</a> that call the appropriate
cleanup method in the wrapper's destructor. By creating an instance
of the wrappers on the stack, C++ scoping rules will ensure that the
destructor is called before exception handling unrolls the block that
contains the wrapper object.</p>
</li>
<li>
<span class="bold">
<strong>
How do I handle a "pass 4" error when trying to run one of the
example Performance Event Monitoring scripts on my Linux system?
The library configured with --enable-dtrace and built without error.
</strong>
</span>
<p>
A Linux installation can have SystemTap support for kernel probe points
without including the kernel "utrace" module needed to use userspace
probes. Pass 4 errors can occur when this required userspace
support is not present.
</p>
</li>
</ol>
</div>
</div>
<div class="navfooter">
<hr />
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left"><a accesskey="p" href="program_perfmon.html">Prev</a> </td>
<td width="20%" align="center">
<a accesskey="u" href="program.html">Up</a>
</td>
<td width="40%" align="right"> <a accesskey="n" href="lock.html">Next</a></td>
</tr>
<tr>
<td width="40%" align="left" valign="top">Performance Event Monitoring </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">Home</a>
</td>
<td width="40%" align="right" valign="top"> Chapter 16. 
The Locking Subsystem
</td>
</tr>
</table>
</div>
</body>
</html>