Cocy Guest
|
Posted: Thu Mar 29, 2007 6:22 am Post subject: what is this code exactly meaning? |
|
|
Hi,
First of all, I'm sorry if this post would be a double posting,
but I've posted the same question three days ago and
the post seemed not showing up to the list. So I've decided
to post the same question again
I saw the following code in linux kernel 2.6.20's code (arch/sparc/
lib/
atomic32.c #L17).
spinlock_t __atomic_hash[ATOMIC_HASH_SIZE] = {
[0 ... (ATOMIC_HASH_SIZE-1)] = SPIN_LOCK_UNLOCKED
};
, where
"SPIN_LOCK_UNLOCKED" returns spinlock_t type of struct,
ATOMIC_HASH_SIZE is defined as "4" just above that function in the
same file,
and "spinlock_t" is defined as struct in include/linux/
spinlock_types.h file.
What does the description
[0 ... (ATOMIC_HASH_SIZE-1)] = SPIN_LOCK_UNLOCKED
means exactly?
Is this means initializing anonymous array or something??? like
[0] = SPIN_LOCK_UNLOCKED
[1] = SPIN_LOCK_UNLOCKED
[2] = SPIN_LOCK_UNLOCKED
[3] = SPIN_LOCK_UNLOCKED
???
What I don't understand most is the part "..." in
"[0 ... (ATOMIC_HASH_SIZE-1)]". I've never seen this description in
C before, except for indicating possibility of additional arguments of
a
function (but it's still different from the declaration like
"func(arg1, arg2, ...)" ).
Does anyone know what it is?
Thanks in advance.
Cocy
--
comp.lang.c.moderated - moderation address: clcm (AT) plethora (DOT) net -- you must
have an appropriate newsgroups line in your header for your mail to be seen,
or the newsgroup name in square brackets in the subject line. Sorry. |
|