| @@ |
| typedef qlock_t; |
| @@ |
| -struct mutex |
| +qlock_t |
| |
| @@ |
| expression E; |
| @@ |
| -mutex_init( |
| +qlock_init( |
| E) |
| |
| @@ |
| expression E; |
| @@ |
| -mutex_lock( |
| +qlock( |
| E) |
| |
| @@ |
| expression E; |
| @@ |
| -mutex_trylock( |
| +canqlock( |
| E) |
| |
| @@ |
| expression E; |
| @@ |
| -mutex_unlock( |
| +qunlock( |
| E) |
| |
| // the netif_addr_lock is a spinlock in linux, but it seems to protect the list |
| // of addresses. That's the 'qlock' (great name) in plan 9 |
| @@ |
| expression DEV; |
| @@ |
| -netif_addr_lock(DEV) |
| +qlock(&DEV->qlock) |
| |
| @@ |
| expression DEV; |
| @@ |
| -netif_addr_unlock(DEV) |
| +qunlock(&DEV->qlock) |
| |
| @@ |
| expression DEV; |
| @@ |
| -netif_addr_lock_bh(DEV) |
| +qlock(&DEV->qlock) |
| |
| @@ |
| expression DEV; |
| @@ |
| -netif_addr_unlock_bh(DEV) |
| +qunlock(&DEV->qlock) |
| |
| @@ |
| expression AMT; |
| expression VARP; |
| @@ |
| -atomic_add(AMT, VARP) |
| +atomic_add(VARP, AMT) |
| |
| @@ |
| expression E; |
| @@ |
| -atomic_dec_and_test(E) |
| +atomic_sub_and_test(E, 1) |