test_and_set_bit - Set a bit and return its old value
int test_and_set_bit (int nr, volatile unsigned long * addr);
nr Bit to set addr Address to count from
This operation is atomic and cannot be reordered. It may be reordered on other architectures than x86. It also implies a memory barrier.