another couple questions regarding wait queues
Robert P. J. Day
rpjday at crashcourse.ca
Sat Jun 22 03:38:14 EDT 2013
while i'm immersed in the code, might as well toss out a couple more
questions, these related to some code in drivers/mtd/mtdblock.c:
static int erase_write (struct mtd_info *mtd, unsigned long pos,
int len, const char *buf)
struct erase_info erase;
* First, let's erase the flash block.
... snip ...
this code seems a bit confusing. there are two ways to define both
wait queue heads and wait queues -- at compile time, and at run time.
above, the wait queue is defined at compile time with:
which seems fine, but the wait queue head itself uses the *run-time*
declaration, which seems unnecessary -- why couldn't that have been
declared at compile time as well? is there something subtle going on
that i'm just not seeing? wait.h provides:
#define DECLARE_WAIT_QUEUE_HEAD(name) \
wait_queue_head_t name = __WAIT_QUEUE_HEAD_INITIALIZER(name)
and i don't see why that wouldn't have worked just fine. thoughts?
Robert P. J. Day Ottawa, Ontario, CANADA
More information about the Kernelnewbies