Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
fe2b9a8f
Commit
fe2b9a8f
authored
Aug 03, 2006
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge perch.ndb.mysql.com:/home/jonas/src/41-work
into perch.ndb.mysql.com:/home/jonas/src/50-work
parents
f3606fa8
42fd7e8f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
13 deletions
+17
-13
ndb/src/kernel/blocks/dbtup/DbtupPagMan.cpp
ndb/src/kernel/blocks/dbtup/DbtupPagMan.cpp
+17
-13
No files found.
ndb/src/kernel/blocks/dbtup/DbtupPagMan.cpp
View file @
fe2b9a8f
...
...
@@ -184,24 +184,28 @@ void Dbtup::allocConsPages(Uint32 noOfPagesToAllocate,
/* PROPER AMOUNT OF PAGES WERE NOT FOUND. FIND AS MUCH AS */
/* POSSIBLE. */
/* ---------------------------------------------------------------- */
for
(
Uint32
j
=
firstListToCheck
;
(
Uint32
)
~
j
;
j
--
)
{
if
(
firstListToCheck
)
{
ljam
();
if
(
cfreepageList
[
j
]
!=
RNIL
)
{
for
(
Uint32
j
=
firstListToCheck
-
1
;
(
Uint32
)
~
j
;
j
--
)
{
ljam
();
if
(
cfreepageList
[
j
]
!=
RNIL
)
{
ljam
();
/* ---------------------------------------------------------------- */
/* SOME AREA WAS FOUND, ALLOCATE ALL OF IT. */
/* ---------------------------------------------------------------- */
allocPageRef
=
cfreepageList
[
j
];
removeCommonArea
(
allocPageRef
,
j
);
noOfPagesAllocated
=
1
<<
j
;
findFreeLeftNeighbours
(
allocPageRef
,
noOfPagesAllocated
,
noOfPagesToAllocate
);
findFreeRightNeighbours
(
allocPageRef
,
noOfPagesAllocated
,
noOfPagesToAllocate
);
return
;
}
//if
}
//for
allocPageRef
=
cfreepageList
[
j
];
removeCommonArea
(
allocPageRef
,
j
);
noOfPagesAllocated
=
1
<<
j
;
findFreeLeftNeighbours
(
allocPageRef
,
noOfPagesAllocated
,
noOfPagesToAllocate
);
findFreeRightNeighbours
(
allocPageRef
,
noOfPagesAllocated
,
noOfPagesToAllocate
);
return
;
}
//if
}
//for
}
/* ---------------------------------------------------------------- */
/* NO FREE AREA AT ALL EXISTED. RETURN ZERO PAGES */
/* ---------------------------------------------------------------- */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment