On 28/09/13 00:30, list2 wrote:
It won't build on OSX.

cc acl.c
acl.c:2904:23: error: use of undeclared identifier 'MSG_NOSIGNAL'
r = send(s, arg, len, MSG_NOSIGNAL);
                       ^
1 error generated.
make[1]: *** [acl.o] Error 1
make: *** [all] Error 2
dnsbureau:exim-4.82_RC1 root#


What is the side effect of not using MSG_NOSIGNAL? I could just >
#define it to 0, but I don't know if this would cause any problems.

Thanks for testing the RC.

The Linux manpage describe the flag as "don't SIGPIPE on
stream-oriented socket when the other end breaks the connection".
Since the socket in use is SOCK_DGRAM it looks like a no-op to me;
probably just habit on the part of the writer, and you could happily
define it to zero.



I think OS X OS X requires SO_NOSIGPIPE instead. This one builds too,
but I don't know if I'm messing things up.

#ifndef MSG_NOSIGNAL
#define MSG_NOSIGNAL SO_NOSIGPIPE
#endif

I'd not use SO_NOSIGPIPE even given the (presumed) similar function;
that will be a socket-option bit and there's no telling what it
might do when used for a send flag.


Unless someone knowing more speaks up I'll remove that flag from
the send call.
--
Cheers,
   Jeremy


--
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to