On Tue, 14 Jan 2003, Chris January wrote:

> > The testcase attached to this mail compiled with g++ 2.95.3-10 or g++ 3.2
> > 20020927 under Cygwin 1.3.18 exits with segmentation fault. It seems to be
> > an error in g++ as the testcase doesn't work under Linux either.
> > Can anyone help or do I have to report this error to the GCC website?
> >
> > BTW I found two ways to make the testcase work:
> > 1) Change line 64 (and 70 respectively) and use "observer
> > *Observer" instead
> > of "std::list<observer>". I compiled the testcase with STLport-4.5.3 under
> > Linux to see if it's a bug in the Standard Library but got again
> > segmentation fault.
> > 2) Remove line 75 which is a simple "poll(NULL, 0, 2000)". It
> > works without
> > this line but I don't know why.
>
> The bug is actually in your testcase.
> The line:
>         Observers.push_back(observer());
> creates a temporary observer object. So when the line
>         observer::observer() { Select.give(this); }
> calls give(), it leaves a dangling pointer.
>
> Chris

True, but not the issue here.  Even buggy programs shouldn't *crash* the
compiler.  Just my 2c.
        Igor
-- 
                                http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_                [EMAIL PROTECTED]
ZZZzz /,`.-'`'    -.  ;-;;,_            [EMAIL PROTECTED]
     |,4-  ) )-,_. ,\ (  `'-'           Igor Pechtchanski
    '---''(_/--'  `-'\_) fL     a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

Oh, boy, virtual memory! Now I'm gonna make myself a really *big* RAMdisk!
  -- /usr/games/fortune


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply via email to