1. NAME

__test_and_set_bit - Set a bit and return its old value

2. SYNOPSIS

int __test_and_set_bit(int  nr , volatile unsigned long *  addr );

3. ARGUMENTS

nr
    Bit to set

addr
    Address to count from

4. DESCRIPTION

This operation is non-atomic and can be reordered. If two examples of this operation race, one can appear to succeed but actually fail. You must protect multiple accesses with a lock.

5. COPYRIGHT