> I have a problem with the sendmsg/recvmsg functions on an Alpha.
> I have append 2 programs, reader.c and writer.c. Starting them
> on an Intel platform, it works great with glibc 2. On an Alpha
> I always get an Invalid argument from sendmsg back.
>
> Any ideas what is different for Alphas ?
Could you compare structs, as seen by kernel with glibc versions?
(iovec, cmsghdr, ucred)
Alexey
> struct cmessage {
> struct cmsghdr cmsg;
> struct ucred cmcred;
> };
BTW it is wrong. CMSG_* macros are the only legal way to construct/parse
ancillary data.
> /* XXX I'm not sure, if gete?id() is always correct, or if we should use
> get?id(). But since keyserv needs geteuid(), we have no other chance.
> It would be much better, if the kernel could pass both to the server. */
> cm.cmcred.pid = getpid ();
> cm.cmcred.uid = geteuid ();
> cm.cmcred.gid = getegid ();
You need not make this. If you do not supply any values,
kernel will pass exactly these ones.
Alexey
-
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/