libdb/docs/installation/upgrade_4_8_mpool.html
2012-11-14 16:35:20 -05:00

82 lines
3.8 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>Minor Change in Behavior of DB_MPOOLFILE-&gt;get</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 Installation and Build Guide" />
<link rel="up" href="upgrade_4_8_toc.html" title="Chapter 13. Upgrading Berkeley DB 4.7 applications to Berkeley DB 4.8" />
<link rel="prev" href="upgrade_4_8_dpl.html" title="Registering DPL Secondary Keys" />
<link rel="next" href="upgrade_4_8_fcntl.html" title="Dropped Support for fcntl System Calls" />
</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">Minor Change in Behavior of DB_MPOOLFILE-&gt;get</th>
</tr>
<tr>
<td width="20%" align="left"><a accesskey="p" href="upgrade_4_8_dpl.html">Prev</a> </td>
<th width="60%" align="center">Chapter 13. Upgrading Berkeley DB 4.7 applications to Berkeley DB 4.8</th>
<td width="20%" align="right"> <a accesskey="n" href="upgrade_4_8_fcntl.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="upgrade_4_8_mpool"></a>Minor Change in Behavior of DB_MPOOLFILE-&gt;get</h2>
</div>
</div>
</div>
<p>
DB 4.8 introduces some performance enhancements, based on the use
of shared/exclusive latches instead of locks in some areas of the
internal buffer management code. This change will affect how the
<code class="classname">DB_MPOOL</code> interface handles dirty buffers.
</p>
<p> Because of these
changes, <code class="methodname">DB_MPOOLFILE-&gt;get</code> will now
acquire an exclusive latch on the buffer if
the <code class="literal">DB_MPOOL_DIRTY</code>
or <code class="literal">DB_MPOOL_EDIT</code> flags are specified. This
could lead to an application deadlock if the application tries to
fetch the buffer again, without an
intervening <code class="methodname">DB_MPOOLFILE-&gt;put</code> call.
</p>
<p>
If your application uses the <code class="literal">DB_MPOOL</code>
interface, and especially the <code class="literal">DB_MPOOL_DIRTY</code>
and <code class="literal">DB_MPOOL_EDIT</code> flags, you should review your
code to ensure that this behavior change does not cause your
application to deadlock.
</p>
</div>
<div class="navfooter">
<hr />
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left"><a accesskey="p" href="upgrade_4_8_dpl.html">Prev</a> </td>
<td width="20%" align="center">
<a accesskey="u" href="upgrade_4_8_toc.html">Up</a>
</td>
<td width="40%" align="right"> <a accesskey="n" href="upgrade_4_8_fcntl.html">Next</a></td>
</tr>
<tr>
<td width="40%" align="left" valign="top">Registering DPL Secondary Keys </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">Home</a>
</td>
<td width="40%" align="right" valign="top"> Dropped Support for fcntl System Calls</td>
</tr>
</table>
</div>
</body>
</html>