comparison src/os/unix/ngx_posix_config.h @ 2111:4300c587db9e stable-0.5

r1901, r1902, r2032 merge: bugfixes in channel: *) avoid endless loop if epoll is used *) use CMSG_LEN(), this fixes an alert "sendmsg() failed (9: Bad file descriptor)" on some 64-bit platforms *) read channel until EAGAIN
author Igor Sysoev <igor@sysoev.ru>
date Mon, 07 Jul 2008 11:58:55 +0000
parents 2ab8bb66d3d7
children
comparison
equal deleted inserted replaced
2110:aeeb3ca9de06 2111:4300c587db9e
108 108
109 #if (__FreeBSD__) && (__FreeBSD_version < 400017) 109 #if (__FreeBSD__) && (__FreeBSD_version < 400017)
110 110
111 #include <sys/param.h> /* ALIGN() */ 111 #include <sys/param.h> /* ALIGN() */
112 112
113 /* FreeBSD 3.x has no CMSG_SPACE() at all and has the broken CMSG_DATA() */ 113 /*
114 * FreeBSD 3.x has no CMSG_SPACE() and CMSG_LEN() and has the broken CMSG_DATA()
115 */
114 116
115 #undef CMSG_SPACE 117 #undef CMSG_SPACE
116 #define CMSG_SPACE(l) (ALIGN(sizeof(struct cmsghdr)) + ALIGN(l)) 118 #define CMSG_SPACE(l) (ALIGN(sizeof(struct cmsghdr)) + ALIGN(l))
119
120 #undef CMSG_LEN
121 #define CMSG_LEN(l) (ALIGN(sizeof(struct cmsghdr)) + (l))
117 122
118 #undef CMSG_DATA 123 #undef CMSG_DATA
119 #define CMSG_DATA(cmsg) ((u_char *)(cmsg) + ALIGN(sizeof(struct cmsghdr))) 124 #define CMSG_DATA(cmsg) ((u_char *)(cmsg) + ALIGN(sizeof(struct cmsghdr)))
120 125
121 #endif 126 #endif