Name

__test_and_set_bit — Set a bit and return its old value

Synopsis

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

Arguments

long nr

Bit to set

volatile unsigned long * addr

Address to count from

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.