Subject: Re: CMSG_* problems
To: None <firstname.lastname@example.org>
From: Matt Thomas <email@example.com>
Date: 02/11/2007 10:02:23
James K. Lowden wrote:
> der Mouse wrote:
>> Specifically, it seems to me that the only ways to use the API without
>> making assumptions not promised by C involve requiring that the
>> msg_control buffer be suitably aligned for a struct cmsghdr, which
>> basically means that it must be malloc()ed, and malloc()ed specifically
>> for the purpose (not a non-initial part of a larger malloc()ed buffer).
> (Well, there's a lot in that "basically"; there are ways other than malloc
> to ensure alignment.)
> Why is it not sufficient to say the API guarantees suitable alignment?
> Surely it's better to align the buffers when contructed in such a way that
> they are easily accessible than to burden the client with possible bus
> As I read RFC 2292 (today, for the first time) istm that was the authors'
> intent. The suggested implementations use an "implementation defined"
> ALIGN() macro.
I can assure you that the author's assumed the buffer used for control messages
would be properly aligned for deferencing cmsghdr structures and/or any other
structure in buffer.
Matt Thomas email: firstname.lastname@example.org
3am Software Foundry www: http://3am-software.com/bio/matt/
Cupertino, CA disclaimer: I avow all knowledge of this message.