for (i=0; i= 300) { /* Old nonce - remove it */ rwl_swaplock(&nonces[i].lock, RWLOCK_WRITE); nonces[i].state = NOT_USED; rwl_writeunlock(&nonces[i].lock); } else { rwl_readunlock(&nonces[i].lock); } }