Skip to content

Commit fb48cc3

Browse files
authored
Merge pull request #2160 from jwillemsen/jwi-nonconstcmsgspace
Add support for a non const CMSG_SPACE macro, some code is disabled a…
2 parents 527ba77 + c80d23d commit fb48cc3

2 files changed

Lines changed: 7 additions & 5 deletions

File tree

ACE/ace/SOCK_Dgram.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -311,12 +311,12 @@ ACE_SOCK_Dgram::recv (iovec iov[],
311311
#define ACE_USE_MSG_CONTROL
312312
union control_buffer {
313313
cmsghdr control_msg_header;
314-
#if defined (IP_RECVDSTADDR)
314+
#if defined (IP_RECVDSTADDR) && !defined (ACE_HAS_NONCONST_CMSG_SPACE)
315315
u_char padding[ACE_CMSG_SPACE (sizeof (in_addr))];
316-
#elif defined (IP_PKTINFO)
316+
#elif defined (IP_PKTINFO) && !defined (ACE_HAS_NONCONST_CMSG_SPACE)
317317
u_char padding[ACE_CMSG_SPACE (sizeof (in_pktinfo))];
318318
#endif
319-
#if defined (ACE_HAS_IPV6)
319+
#if defined (ACE_HAS_IPV6) && !defined (ACE_HAS_NONCONST_CMSG_SPACE)
320320
u_char padding6[ACE_CMSG_SPACE (sizeof (in6_pktinfo))];
321321
#endif
322322
} cbuf;
@@ -349,7 +349,7 @@ ACE_SOCK_Dgram::recv (iovec iov[],
349349
if (to_addr) {
350350
this->get_local_addr (*to_addr);
351351
if (to_addr->get_type() == AF_INET) {
352-
#if defined (IP_RECVDSTADDR) || defined (IP_PKTINFO)
352+
#if (defined (IP_RECVDSTADDR) || defined (IP_PKTINFO)) && !defined (ACE_HAS_NONCONST_CMSG_SPACE)
353353
for (cmsghdr *ptr = ACE_CMSG_FIRSTHDR (&recv_msg); ptr; ptr = ACE_CMSG_NXTHDR (&recv_msg, ptr)) {
354354
#if defined (IP_RECVDSTADDR)
355355
if (ptr->cmsg_level == IPPROTO_IP && ptr->cmsg_type == IP_RECVDSTADDR) {
@@ -369,7 +369,7 @@ ACE_SOCK_Dgram::recv (iovec iov[],
369369
}
370370
#endif
371371
}
372-
#if defined (ACE_HAS_IPV6) && defined (IPV6_PKTINFO)
372+
#if defined (ACE_HAS_IPV6) && defined (IPV6_PKTINFO) && !defined (ACE_HAS_NONCONST_CMSG_SPACE)
373373
else if (to_addr->get_type() == AF_INET6) {
374374
for (cmsghdr *ptr = ACE_CMSG_FIRSTHDR (&recv_msg); ptr; ptr = ACE_CMSG_NXTHDR (&recv_msg, ptr)) {
375375
if (ptr->cmsg_level == IPPROTO_IPV6 && ptr->cmsg_type == IPV6_PKTINFO) {

ACE/ace/config-qnx.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,8 @@
138138
# define ACE_SIZEOF_DOUBLE 8
139139
# define ACE_SIZEOF_FLOAT 4
140140
# define _POSIX_C_SOURCE 199506
141+
#else
142+
# define ACE_HAS_NONCONST_CMSG_SPACE
141143
#endif
142144

143145
#define ACE_LACKS_ISCTYPE

0 commit comments

Comments
 (0)