On Sat, Oct 25, 2008 at 04:55:36PM -0400, Michael Franz wrote:
Martin,
Here are the changes that work for OS X.
FWIW, this is the patch I have locally to make it work. This is also one of the three patches that we couldn't port over from the JRL port since we didn't have an SCA from the contributor. I haven't approached Michiel Boland (who originally came up with it) about doing so, but he may be willing to submit an SCA. Otherwise we'll have to wait until someone does this in a clean room manner (it looks like you obtained it from the mail archives?).
On Sat, Oct 25, 2008 at 12:47 PM, Martin Buchholz <martinrb@google.com>wrote:
I am the author of the changes to UNIXProcess_md.c. File descriptor 3 is used to communicate any cause of failure back to the parent process.
One might think that the openjdk7 code would work on BSD because if the standard way of opening /proc/self/fd, it falls back to closing all descriptors up to sysconf(_SC_OPEN_MAX), which one would think the BSDs would have implemented.
This might be worth looking into. Note that the BSDs haven't mounted /proc by default for several years, so code that expects the existence of /proc is generally not portable to BSD. sysconf(_SC_OPEN_MAX) is present on both FreeBSD 6 and 7. I haven't yet checked Mac OS X or OpenBSD or NetBSD though.
In any case, even if the current jdk7 code doesn't work on BSD, it should be easy to create a small patch to it that would be portable to more Unix systems, that could be accepted upstream. I would be willing to review.
The plan is to merge in all the BSD support at some point. So if doing this another way will make it more acceptable and its feasible to do so then I'm all for it. -- Greg Lewis Email : glewis@eyesbeyond.com Eyes Beyond Web : http://www.eyesbeyond.com Information Technology FreeBSD : glewis@FreeBSD.org