[kaffe] Cygwin signal handling (or lack thereof) and kaffe cvs

Jim Pick jim@kaffe.org
Tue Nov 11 08:38:02 2003


Hi Nicholas,

On Fri, 07 Nov 2003 09:41:38 -0500
Nicholas Wourms <nwourms@myrealbox.com> wrote:

> Hi,
> 
> I just went to try the latest kaffe cvs, when I noticed a critical issue 
> in the build process.  What, may I ask, are those of us using Cygwin 
> supposed to do now that there is a `#error' directive in our md.h?  I 
> assure you that sigcontext will *NOT* be implemented anytime soon 
> (trying to emulate POSIX signals via Windows signals is extremely 
> complicated).  I'm also certain this will also affect other non-linux 
> platforms which use newlib.

This was done by Guilhem Lavaux as part of the process of switching over
to the Classpath I/O libraries.  I haven't visited the problem myself,
so I hope he can comment on the technical details.

In general, I'd like to see Kaffe have the ability to be portable to non
Posix platforms.  It can be done, and has been done, but a lot of the
work hasn't been merged back in yet.

> Why can't kaffe fall back to the prior 
> signal handling when sigcontext is absent instead of being so heavy 
> handed as to drop an #error directive (like it used to)?  Tons of other, 
> possibly more complex, projects seem to cope quite will without advanced 
> signal handling.  So what makes it so necessary now?  Yes, I understand 
> that java needs access to lowlevel routines at times, but you don't see 
> this approach being done in libjava/gcj.  IMHO, these recent changes 
> make kaffe terribly unportable, which is something I thought most 
> developers strive to avoid.  Sorry if this sounds negative, but previous 
> efforts led me to believe that making kaffe portable was one of its goals.
> 
> Cheers,
> Nicholas

Falling back to the previous behaviour sounds like a good idea.  I
wonder how much it is to put that back in?  Patches are welcome.

The biggest problem with supporting platforms like Cygwin is that we
currently don't have anybody actively maintaining it.  Even when I
tested it last, circa 1.0.7, it seemed pretty broken to me.

I think I would have been screaming pretty loud if what Guilhem did
actually broke the port, but since it wasn't really working too well in
the first place, I feel it falls more into the category of bitrot than
actual regression.

Again, Windows is an important platform, I'd love to see it work, but we
need more help.

Cheers,

 - Jim