Re: signal within a signal handler



On 9/9/05, Murray Cumming <murrayc murrayc com> wrote:
> On Thu, 2005-09-08 at 09:09 -0500, Jonathon Jongsma wrote:
> > On 9/8/05, Murray Cumming <murrayc murrayc com> wrote:
> > > On Tue, 2005-09-06 at 08:26 -0500, Jonathon Jongsma wrote:
> > > > I'm curious, is it legal to emit a signal within a handler for another
> > > > signal?
> > >
> > > Yes, absolutely.
> > >
> > > >  The reason I'm asking is that I'm trying to do such a thing
> > > > and I keep getting a segfault when the event occurs.
> > >
> > > gdb or valgrind will give more information.
> > >
> >
> > Here's the backtrace from gdb.
>
> Unfortunately that doesn't tell me much, but maybe investigating the
> variables at that point would be informative.
>
> But this looks to me like some kind of memory problem (one of the
> objects involved is invalid because it has already been deleted, was
> never instantiated, or has been bad-casted from some other pointer) so
> valgrind is likely to show the problem.
>
> If even that doesn't help, then it's time to break the program down
> until you isolate the problem.
>
> [snip]
> --
> Murray Cumming
> murrayc murrayc com
> www.murrayc.com
> www.openismus.com
>

I just wanted to follow up on this in case any other Debian users
experience this problem.  Apparently I managed to apt-get upgrade
myself to a state where my default compiler was g++-4.0 but my gtkmm
and / or sigc++ was still compiled with 3.x (This C++ ABI transition
is no fun at all if you're trying to develop C++ programs).  I didn't
notice the warning at first since everything seemed to work fine until
I tried handling a custom signal, at which point it segfaulted.  After
realizing this and fixing it, the program worked just fine.

Thanks,
Jonathon


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