| plan 9 kernel history: overview | file list | diff list |
2003/0405/port/taslock.c (diff list | history)
| 2002/0925/sys/src/9/port/taslock.c:43,48 – 2003/0405/sys/src/9/port/taslock.c:43,49 (short | long | prev | next) | ||
| 1992/0222 | { | |
| 2002/0403 | int i; ulong pc; | |
| 2003/0405 | Lock *_l = l; | |
| 1995/1009 | ||
| 1999/0501 | pc = getcallerpc(&l); | |
| 1995/1009 | ||
| 2002/0925/sys/src/9/port/taslock.c:49,54 – 2003/0405/sys/src/9/port/taslock.c:50,57 | ||
| 2002/0403 | lockstats.locks++; if(up) up->nlocks++; /* prevent being scheded */ | |
| 2003/0405 | if(l->key == 0x55555555) panic("lock(1): l %p, key 5*, pc %.lux, %p\n", l, pc, _l); | |
| 1996/0522 | if(tas(&l->key) == 0){ | |
| 2002/0404 | if(up) up->lastlock = l; | |
| 2002/0925/sys/src/9/port/taslock.c:57,62 – 2003/0405/sys/src/9/port/taslock.c:60,67 | ||
| 1998/0604 | l->isilock = 0; | |
| 2002/0403 | return 0; | |
| 1995/1009 | } | |
| 2003/0405 | if(l->key == 0x55555555) panic("lock(1a): l %p, key 5*, pc %.lux, %p\n", l, pc, _l); | |
| 2002/0403 | if(up) up->nlocks--; /* didn't get the lock, allow scheding */ | |
| 1995/0108 | ||
| 2002/0925/sys/src/9/port/taslock.c:64,77 – 2003/0405/sys/src/9/port/taslock.c:69,92 | ||
| 1996/0522 | for(;;){ | |
| 1999/0811 | lockstats.inglare++; | |
| 1996/0522 | i = 0; | |
| 2003/0405 | if(l->key == 0x55555555) panic("lock(2): l %p, key 5*, pc %.lux, %p\n", l, pc, _l); | |
| 1998/0604 | while(l->key){ | |
| 2002/0403 | if(i++ > 100000000){ i = 0; | |
| 2003/0405 | if(l->key == 0x55555555) panic("lock(3): l %p, key 5*, pc %.lux, %p\n", l, pc, _l); | |
| 2002/0403 | lockloop(l, pc); | |
| 2003/0405 | if(l->key == 0x55555555) panic("lock(4): l %p, key 5*, pc %.lux, %p\n", l, pc, _l); | |
| 1996/0522 | } | |
| 1998/0604 | } | |
| 2003/0405 | if(l->key == 0x55555555) panic("lock(5): l %p, key 5*, pc %.lux, %p\n", l, pc, _l); | |
| 2002/0403 | if(up) up->nlocks++; | |
| 2003/0405 | if(l->key == 0x55555555) panic("lock(6): l %p, key 5*, pc %.lux, %p\n", l, pc, _l); | |
| 1995/1009 | if(tas(&l->key) == 0){ | |
| 2002/0403 | if(up) up->lastlock = l; | |
| 2002/0925/sys/src/9/port/taslock.c:80,85 – 2003/0405/sys/src/9/port/taslock.c:95,102 | ||
| 1998/0604 | l->isilock = 0; | |
| 2002/0403 | return 1; | |
| 1995/1009 | } | |
| 2003/0405 | if(l->key == 0x55555555) panic("lock(7): l %p, key 5*, pc %.lux, %p\n", l, pc, _l); | |
| 2002/0403 | if(up) up->nlocks--; | |
| 1995/0108 | } | |