chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Signal woes.


From: Robin Lee Powell
Subject: Re: [Chicken-users] Signal woes.
Date: Sun, 22 Jul 2007 13:21:46 -0700
User-agent: Mutt/1.5.13 (2006-08-11)

On Sun, Jul 22, 2007 at 01:39:10PM +0200, felix winkelmann wrote:
> On 7/21/07, Robin Lee Powell <address@hidden> wrote:
> >2.  A grotesque hack using foreign code and setitimer and such.
> >You can find this hack at http://paste.lisp.org/display/44881.
> >The problem here is that if the interrupt kicks off when the
> >program is busy, the whole program hangs with 100% CPU usage.  I
> >suspect, but cannot confirm, that this only happens when the code
> >is in one of the C libraries at the time.  Wrapping busy bits of
> >the code in (set-signal-handler! signal/alrm #f) /
> >(set-signal-handler! signal/alrm actual-call) seems to "solve"
> >the problem, but that's an unfortunate solution at best.
> 
> uh oh - running Scheme callbacks in interrupt handlers is
> dangerous: the set of libc functions that may be called inside
> them is restricted, and this is likely to highly risky.

Can you expand on this a bit?

> I can't think of anything besides running a second (native)
> thread, if you're into that sort of thing...

I haven't the slightest idea how to do that in Chicken.  I'd love
to, if I could.

> Or splitting the application into multiple processes (say, one for
> UI/status display and one for the guts).

The problem is that the two processes would have to share CDK/curses
pointers, like to the curses main window, which I doubt is even
possible, and certainly sounds like a bad idea.  Having all the UI
bits in one place wouldn't solve the problem at all: I'd need to
have the user UI bits in one process and the status update UI bits
in another, because the user UI bits stop on wgetch most of the
time.

-Robin

-- 
http://www.digitalkingdom.org/~rlpowell/ *** http://www.lojban.org/
Reason #237 To Learn Lojban: "Homonyms: Their Grate!"
Proud Supporter of the Singularity Institute - http://singinst.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]