[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] remove enable/disable interrupt flag
From: |
Alan Post |
Subject: |
Re: [Chicken-users] remove enable/disable interrupt flag |
Date: |
Fri, 30 Sep 2011 10:05:49 -0601 |
On Fri, Sep 30, 2011 at 09:30:13AM +0100, Alaric Snell-Pym wrote:
> Your other points about multiple signals sugget it should be a proper
> queue, not just a bitmask. Although I have a vague feeling that Unix was
> allowed to coalesce pending signals as it just used a bitmask itself...
> Meh, I dunno, I only look into signal handling occasionally!
>
I was misremembering a statement from APUE (Advanced Programming in
the Unix Environment), which talks about signal queuing being
*permitted* by Posix, but not required. And no one does it.
A test program on *BSD confirms that this operating system does not,
and Linux likely follows. So we don't need that queue--I think I
managed to see Chicken drop one signal testing last night, but I've
not confirmed this yet and it wouldn't be a crisis should it
actually do so. I haven't tried a more complex case I think Chicken
does suffer from, which is near-arrival of two separate signals.
At any rate, my suggestion of a signal queue was based on an
incorrect understanding of the signal mechanism and I withdraw it.
> > And that we also *must* handle
> > deferred signals before making another syscall, whether that syscall
> > happened from user code or whether we're making a syscall in service
> > to the need of the runtime.
>
> The one tricky case I can think of is when the chicken signal handler
> needs more RAM (so the GC is invoked) and the GC needs to malloc things
> in the heap and the heap needs to grow, so a mmap (which is what sbrk
> seems to be called these days) occurs... Do you need it run before ALL
> syscalls, or just ones that might block on something the signal handler
> might be needed to relieve? AIUI mmap of /dev/zero (to allocate more
> empty heap) can't block on very much...
>
I'm currently hoping that it can be run just before the ones that
block, which is an astute observation, thank you. I'll probably
need to sit down with the signals one-by-one to be sure, but I
think this "weaker" constraint is fully correct.
> > I think is a fantastic outline of what needs to happen. I will work on
> > a patch, with no guarantee of how fast I will be.
>
> Tell me if I can help - I want to gain a deeper understanding of the
> Chicken scheduler!
>
Thank you!
-Alan
--
.i ma'a lo bradi cu penmi gi'e du
- Re: [Chicken-users] remove enable/disable interrupt flag, (continued)
- Re: [Chicken-users] remove enable/disable interrupt flag, Alaric Snell-Pym, 2011/09/29
- Re: [Chicken-users] remove enable/disable interrupt flag, Jörg F . Wittenberger, 2011/09/29
- Re: [Chicken-users] remove enable/disable interrupt flag, Alaric Snell-Pym, 2011/09/29
- Re: [Chicken-users] remove enable/disable interrupt flag, Alan Post, 2011/09/29
- Re: [Chicken-users] remove enable/disable interrupt flag, Alaric Snell-Pym, 2011/09/29
- Re: [Chicken-users] remove enable/disable interrupt flag, Alan Post, 2011/09/29
- Re: [Chicken-users] remove enable/disable interrupt flag, Alaric Snell-Pym, 2011/09/30
- Re: [Chicken-users] remove enable/disable interrupt flag, John Cowan, 2011/09/30
- Re: [Chicken-users] remove enable/disable interrupt flag, Alan Post, 2011/09/30
- Re: [Chicken-users] remove enable/disable interrupt flag, Jörg F . Wittenberger, 2011/09/30
- Re: [Chicken-users] remove enable/disable interrupt flag,
Alan Post <=
- Re: [Chicken-users] remove enable/disable interrupt flag, John Cowan, 2011/09/30
- Re: [Chicken-users] remove enable/disable interrupt flag, Jörg F . Wittenberger, 2011/09/29
- Re: [Chicken-users] remove enable/disable interrupt flag, Alan Post, 2011/09/29
- Re: [Chicken-users] remove enable/disable interrupt flag, Jörg F . Wittenberger, 2011/09/29
- Re: [Chicken-users] remove enable/disable interrupt flag, Alan Post, 2011/09/29
- Re: [Chicken-users] remove enable/disable interrupt flag, Jörg F . Wittenberger, 2011/09/29
- Re: [Chicken-users] remove enable/disable interrupt flag, Alan Post, 2011/09/29
- Re: [Chicken-users] remove enable/disable interrupt flag, Jörg F . Wittenberger, 2011/09/29
- Re: [Chicken-users] remove enable/disable interrupt flag -- SORRY, Jörg F . Wittenberger, 2011/09/29
- Re: [Chicken-users] remove enable/disable interrupt flag, Jörg F . Wittenberger, 2011/09/29