*参照元 [#d152ce95] #backlinks *説明 [#y1533087] -パス: [[linux-2.6.33/include/linux/wait.h]] -FIXME: これは何? --説明 **引数 [#vef14b1b] -void *word -- -int bit -- -int (*action)(void *) -- -unsigned mode -- **返り値 [#md9efc23] -int -- **参考 [#f42a7b7e] *実装 [#g9a3bd26] /** * wait_on_bit_lock - wait for a bit to be cleared, when wanting to set it * @word: the word being waited on, a kernel virtual address * @bit: the bit of the word being waited on * @action: the function used to sleep, which may take special actions * @mode: the task state to sleep in * * There is a standard hashed waitqueue table for generic use. This * is the part of the hashtable's accessor API that waits on a bit * when one intends to set it, for instance, trying to lock bitflags. * For instance, if one were to have waiters trying to set bitflag * and waiting for it to clear before setting it, one would call * wait_on_bit() in threads waiting to be able to set the bit. * One uses wait_on_bit_lock() where one is waiting for the bit to * clear with the intention of setting it, and when done, clearing it. */ static inline int wait_on_bit_lock(void *word, int bit, int (*action)(void *), unsigned mode) { if (!test_and_set_bit(bit, word)) - --[[linux-2.6.33/test_and_set_bit()]] return 0; return out_of_line_wait_on_bit_lock(word, bit, action, mode); - --[[linux-2.6.33/out_of_line_wait_on_bit_lock()]] } *コメント [#a375de5b]