comparison src/os/unix/ngx_freebsd_config.h @ 1901:d880fa02fb65

use CMSG_LEN(), this fixes an alert "sendmsg() failed (9: Bad file descriptor)" on some 64-bit platforms
author Igor Sysoev <igor@sysoev.ru>
date Tue, 19 Feb 2008 16:34:55 +0000
parents 0d57c150115b
children ceef364208c8
comparison
equal deleted inserted replaced
1900:55a9d867e3c8 1901:d880fa02fb65
46 #include <sys/param.h> /* ALIGN() */ 46 #include <sys/param.h> /* ALIGN() */
47 47
48 48
49 #if __FreeBSD_version < 400017 49 #if __FreeBSD_version < 400017
50 50
51 /* FreeBSD 3.x has no CMSG_SPACE() at all and has the broken CMSG_DATA() */ 51 /*
52 * FreeBSD 3.x has no CMSG_SPACE() and CMSG_LEN() and has the broken CMSG_DATA()
53 */
52 54
53 #undef CMSG_SPACE 55 #undef CMSG_SPACE
54 #define CMSG_SPACE(l) (ALIGN(sizeof(struct cmsghdr)) + ALIGN(l)) 56 #define CMSG_SPACE(l) (ALIGN(sizeof(struct cmsghdr)) + ALIGN(l))
57
58 #undef CMSG_LEN
59 #define CMSG_LEN(l) (ALIGN(sizeof(struct cmsghdr)) + (l))
55 60
56 #undef CMSG_DATA 61 #undef CMSG_DATA
57 #define CMSG_DATA(cmsg) ((u_char *)(cmsg) + ALIGN(sizeof(struct cmsghdr))) 62 #define CMSG_DATA(cmsg) ((u_char *)(cmsg) + ALIGN(sizeof(struct cmsghdr)))
58 63
59 #endif 64 #endif