提交 2715cd35 创建 作者: rsc's avatar rsc

and spinlock

上级 dca5b5ca
...@@ -22,8 +22,10 @@ initlock(struct spinlock *lock, char *name) ...@@ -22,8 +22,10 @@ initlock(struct spinlock *lock, char *name)
void void
getcallerpcs(void *v, uint pcs[]) getcallerpcs(void *v, uint pcs[])
{ {
uint *ebp = (uint*)v - 2; uint *ebp;
int i; int i;
ebp = (uint*)v - 2;
for(i = 0; i < 10; i++){ for(i = 0; i < 10; i++){
if(ebp == 0 || ebp == (uint*)0xffffffff) if(ebp == 0 || ebp == (uint*)0xffffffff)
break; break;
...@@ -88,3 +90,4 @@ holding(struct spinlock *lock) ...@@ -88,3 +90,4 @@ holding(struct spinlock *lock)
{ {
return lock->locked && lock->cpu == cpu() + 10; return lock->locked && lock->cpu == cpu() + 10;
} }
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论