remove acquire1 and release1

This commit is contained in:
rsc 2006-07-16 15:38:13 +00:00
parent f3d290220f
commit 679a977cb2
2 changed files with 4 additions and 18 deletions

2
defs.h
View file

@ -64,8 +64,6 @@ int cpu(void);
struct spinlock;
void acquire(struct spinlock * lock);
void release(struct spinlock * lock);
void acquire1(struct spinlock * lock, struct proc *);
void release1(struct spinlock * lock, struct proc *);
// main.c
void load_icode(struct proc *p, uint8_t *binary, unsigned size);

View file

@ -10,7 +10,7 @@
// because cprintf uses them itself.
#define cprintf dont_use_cprintf
extern int use_console_lock;
extern int bootstrap;
int
getcallerpc(void *v)
@ -19,7 +19,7 @@ getcallerpc(void *v)
}
void
acquire1(struct spinlock * lock, struct proc *cp)
acquire(struct spinlock * lock)
{
if(cpus[cpu()].nlock++ == 0)
cli();
@ -30,23 +30,11 @@ acquire1(struct spinlock * lock, struct proc *cp)
}
void
release1(struct spinlock * lock, struct proc *cp)
release(struct spinlock * lock)
{
cpuid(0, 0, 0, 0, 0); // memory barrier
lock->locked = 0;
if(--cpus[cpu()].nlock == 0)
if(--cpus[cpu()].nlock == 0 && !bootstrap)
sti();
}
void
acquire(struct spinlock *lock)
{
acquire1(lock, curproc[cpu()]);
}
void
release(struct spinlock *lock)
{
release1(lock, curproc[cpu()]);
}