~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to storage/innobase/include/buf0lru.h

  • Committer: Jay Pipes
  • Date: 2009-02-04 15:44:25 UTC
  • mfrom: (829 drizzle)
  • mto: This revision was merged to the branch mainline in revision 830.
  • Revision ID: jpipes@serialcoder-20090204154425-th8xfk2ujz2y8xwg
Merge with trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*****************************************************************************
2
 
 
3
 
Copyright (c) 1995, 2009, Innobase Oy. All Rights Reserved.
4
 
 
5
 
This program is free software; you can redistribute it and/or modify it under
6
 
the terms of the GNU General Public License as published by the Free Software
7
 
Foundation; version 2 of the License.
8
 
 
9
 
This program is distributed in the hope that it will be useful, but WITHOUT
10
 
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
 
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12
 
 
13
 
You should have received a copy of the GNU General Public License along with
14
 
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
15
 
Place, Suite 330, Boston, MA 02111-1307 USA
16
 
 
17
 
*****************************************************************************/
18
 
 
19
1
/******************************************************
20
2
The database buffer pool LRU replacement algorithm
21
3
 
 
4
(c) 1995 Innobase Oy
 
5
 
22
6
Created 11/5/1995 Heikki Tuuri
23
7
*******************************************************/
24
8
 
103
87
 
104
88
/**********************************************************************
105
89
Try to free a block.  If bpage is a descriptor of a compressed-only
106
 
page, the descriptor object will be freed as well.
107
 
 
108
 
NOTE: If this function returns BUF_LRU_FREED, it will not temporarily
109
 
release buf_pool_mutex.  Furthermore, the page frame will no longer be
110
 
accessible via bpage.
111
 
 
112
 
The caller must hold buf_pool_mutex and buf_page_get_mutex(bpage) and
113
 
release these two mutexes after the call.  No other
114
 
buf_page_get_mutex() may be held when calling this function. */
 
90
page, the descriptor object will be freed as well.  If this function
 
91
returns BUF_LRU_FREED, it will not temporarily release
 
92
buf_pool_mutex. */
115
93
UNIV_INTERN
116
94
enum buf_lru_free_block_status
117
95
buf_LRU_free_block(