Dear All,
I saw the following code in linux kernel 2.6's code (arch/sparc/lib/
atomic32.c #L17).
( you can also check the code by the following url,
http://www.linux-m32r.org/lxr/http/source/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.
Now, what does the description
[0 ... (ATOMIC_HASH_SIZE-1)] = SPIN_LOCK_UNLOCKED
means exactly?
Does this mean 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, ...)" ).
Could anyone please help me to understand what does this code
mean exactly?
Thanks in advance.
Cocy
_________________________________________________________________
究極のWEBブラウジング環境を実現!MSN版IE7が待望のデビュー
http://promotion.msn.co.jp/ie7/
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ