confusing with strace-3.99 / msg.h / wait_queue_head_t

Meino Christian Cramer (root@solfire.ludwigsburg.netsurf.de)
Sat, 12 Jun 1999 07:06:08 GMT


Hi!

I have tried to compile strace-3.99 and git the follwing compiling
error:

gcc -b i586-pc-linux-gnulibc1 -Wall -DHAVE_CONFIG_H -I. -Ilinux/i386 -I./linux/i386 -Ilinux -I./linux -g -O2 -c ipc.c
In file included from /usr/include/sys/msg.h:7,
from ipc.c:38:
/usr/include/linux/msg.h:22: parse error before `wait_queue_head_t'
/usr/include/linux/msg.h:22: warning: no semicolon at end of struct or union
/usr/include/linux/msg.h:23: warning: type defaults to `int' in declaration of `rwait'
/usr/include/linux/msg.h:23: warning: data definition has no type or storage class
/usr/include/linux/msg.h:29: parse error before `}'
make: *** [ipc.o] Error 1

I grep'ed around the include files and found in /usr/include/linux/msg.h

...
struct msqid_ds {
struct ipc_perm msg_perm;
struct msg *msg_first; /* first message on queue */
struct msg *msg_last; /* last message in queue */
__kernel_time_t msg_stime; /* last msgsnd time */
__kernel_time_t msg_rtime; /* last msgrcv time */
__kernel_time_t msg_ctime; /* last change time */
***** wait_queue_head_t wwait; ******************************
***** wait_queue_head_t rwait; ******************************
unsigned short msg_cbytes; /* current number of bytes on queue */
unsigned short msg_qnum; /* number of messages in queue */
unsigned short msg_qbytes; /* max number of bytes on queue */
__kernel_ipc_pid_t msg_lspid; /* pid of last msgsnd */
__kernel_ipc_pid_t msg_lrpid; /* last receive pid */
};
...

where '******' is marking the error point.

Furthermore with more grepping I found in /usr/src/v2.3.6/linux/include/linux

wait.h:struct __wait_queue_head {
wait.h:typedef struct __wait_queue_head wait_queue_head_t;

For me it looks like the definition of 'struct msqid_ds' is missing a 'struct'
before wait_queue_head_t ?!

Or is my include file hierachy is strewed up??

Before I blindly patch a very kernel-near file (msg.h) I want to know the
opinion of a more advanced kernel-guru about this. Could one give me a hint?

Thank you very much in advance for any help.

KEEP HACKING!
Meino

--------------------------------------------------------------------------
Anyone sending unwanted advertising e-mail to this address will be charged
$25 for network traffic and computing time. By extracting my address from
this message or its header, you agree to these terms.
--------------------------------------------------------------------------

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/