add directory Linux-0.98
This commit is contained in:
56
Linux-0.98/Yggdrasil-0.98.3/usr/include/linux/locks.h
Normal file
56
Linux-0.98/Yggdrasil-0.98.3/usr/include/linux/locks.h
Normal file
@@ -0,0 +1,56 @@
|
||||
#ifndef _LINUX_LOCKS_H
|
||||
#define _LINUX_LOCKS_H
|
||||
|
||||
/*
|
||||
* Buffer cache locking - note that interrupts may only unlock, not
|
||||
* lock buffers.
|
||||
*/
|
||||
extern void __wait_on_buffer(struct buffer_head *);
|
||||
|
||||
extern inline void wait_on_buffer(struct buffer_head * bh)
|
||||
{
|
||||
if (bh->b_lock)
|
||||
__wait_on_buffer(bh);
|
||||
}
|
||||
|
||||
extern inline void lock_buffer(struct buffer_head * bh)
|
||||
{
|
||||
if (bh->b_lock)
|
||||
__wait_on_buffer(bh);
|
||||
bh->b_lock = 1;
|
||||
}
|
||||
|
||||
extern inline void unlock_buffer(struct buffer_head * bh)
|
||||
{
|
||||
bh->b_lock = 0;
|
||||
wake_up(&bh->b_wait);
|
||||
}
|
||||
|
||||
/*
|
||||
* super-block locking. Again, interrupts may only unlock
|
||||
* a super-block (although even this isn't done right now.
|
||||
* nfs may need it).
|
||||
*/
|
||||
extern void __wait_on_super(struct super_block *);
|
||||
|
||||
extern inline void wait_on_super(struct super_block * sb)
|
||||
{
|
||||
if (sb->s_lock)
|
||||
__wait_on_super(sb);
|
||||
}
|
||||
|
||||
extern inline void lock_super(struct super_block * sb)
|
||||
{
|
||||
if (sb->s_lock)
|
||||
__wait_on_super(sb);
|
||||
sb->s_lock = 1;
|
||||
}
|
||||
|
||||
extern inline void unlock_super(struct super_block * sb)
|
||||
{
|
||||
sb->s_lock = 0;
|
||||
wake_up(&sb->s_wait);
|
||||
}
|
||||
|
||||
#endif /* _LINUX_LOCKS_H */
|
||||
|
||||
Reference in New Issue
Block a user