[kaffe] Build failure of CVS head for i386/NetBSD
Ito Kazumitsu
kaz at maczuka.gcd.org
Mon Jan 15 16:41:59 PST 2007
Hi,
From: Kiyo Inaba <inaba at src.ricoh.co.jp>
Subject: [kaffe] Build failure of CVS head for i386/NetBSD
Date: Mon, 15 Jan 2007 14:58:58 +0900 (JST)
> As Kaz suggested, I modified as attached patch and the build get success.
> But for cpnet.c, this patch omit one feature which is originally provided.
> I have no idea (except with private signal handler) how to add NOPIPE
> flag for send, if it is not provided by the OS...
>
> It looks like this 'patch' also solve m68k/NetBSD configure problem.
>
> Any better idea which really fix the cpnet.c's problem?
I think cpnet.c needs further review. It will not work properly
on FreeBSD 5.4-RELEASE, either.
#if defined (HAVE_MSG_NOSIGNAL)
#define SOCKET_NOSIGNAL MSG_NOSIGNAL
#elif defined (HAVE_SO_NOSIGPIPE)
#define SOCKET_NOSIGNAL SO_NOSIGPIPE
#else
#error "No suitable flag found to ommit a SIGPIPE on signal errors with send()."
#endif
ret = send(fd, data, len, SOCKET_NOSIGNAL);
FreeBSD 5.4-RELEASE:
HAVE_MSG_NOSIGNAL false
HAVE_SO_NOSIGPIPE true 0x0800
SO_NOSIGPIPE (0x0800) is set to SOCKET_NOSIGNAL and is used as an option
to send. But SO_NOSIGPIPE is a socket level option which should be used
with setsockopt. 0x0800 used as an option to send will not have any
effect, or may have some unexpected effects.
Anyway, this is a GNU Classpath issue. I will report a bug about this
to GNU Classpath.
More information about the kaffe
mailing list