Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
CSEP551
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Krishna Vinnakota
CSEP551
Commits
0ca9ca0c
Commit
0ca9ca0c
authored
15 years ago
by
rsc
Browse files
Options
Downloads
Patches
Plain Diff
slight rearrangement; sleep on b not buf.
parent
d827c8f3
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
bio.c
+8
-8
8 additions, 8 deletions
bio.c
with
8 additions
and
8 deletions
bio.c
+
8
−
8
View file @
0ca9ca0c
...
...
@@ -69,22 +69,22 @@ bget(uint dev, uint sector)
for
(
b
=
bufhead
.
next
;
b
!=
&
bufhead
;
b
=
b
->
next
){
if
((
b
->
flags
&
(
B_BUSY
|
B_VALID
))
&&
b
->
dev
==
dev
&&
b
->
sector
==
sector
){
if
(
b
->
flags
&
B_BUSY
){
sleep
(
buf
,
&
buf_table_lock
);
goto
loop
;
if
(
!
(
b
->
flags
&
B_BUSY
)){
b
->
flags
|=
B_BUSY
;
release
(
&
buf_table_lock
);
return
b
;
}
b
->
flags
|=
B_BUSY
;
release
(
&
buf_table_lock
);
return
b
;
sleep
(
b
,
&
buf_table_lock
);
goto
loop
;
}
}
// Allocate fresh block.
for
(
b
=
bufhead
.
prev
;
b
!=
&
bufhead
;
b
=
b
->
prev
){
if
((
b
->
flags
&
B_BUSY
)
==
0
){
b
->
flags
=
B_BUSY
;
b
->
dev
=
dev
;
b
->
sector
=
sector
;
b
->
flags
=
B_BUSY
;
release
(
&
buf_table_lock
);
return
b
;
}
...
...
@@ -131,7 +131,7 @@ brelse(struct buf *b)
bufhead
.
next
=
b
;
b
->
flags
&=
~
B_BUSY
;
wakeup
(
b
uf
);
wakeup
(
b
);
release
(
&
buf_table_lock
);
}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment