[Stackless] stackess for 2.7

Kristján Valur Jónsson kristjan at ccpgames.com
Tue Jun 29 11:46:04 CEST 2010


I would agree, except that we have been doing it like this for aeons and changing this would probably break code.
There is code out there that silently checks for SystemExit and reraises those exceptions, and fortuitously works for TaskletExit too.
On the flip side, there is code in pythonrun.c (IIRC) that checks for SystemExit, but which we had to patch to ignore TaskletExits...

We best leave this alone and worry about it later.
K

> -----Original Message-----
> From: stackless-bounces at stackless.com [mailto:stackless-
> bounces at stackless.com] On Behalf Of Jeff Senn
> Sent: 25. júní 2010 12:43
> To: The Stackless Python Mailing List
> Subject: Re: [Stackless] stackess for 2.7
> 
> 
> On Jun 25, 2010, at 6:54 AM, Kristján Valur Jónsson wrote:
> 
> > Excellent.
> > I'll have a look when I'm able.
> >
> > Wrt TaskletExit, yes it makes perfect sense.  Like SystemExit, it is
> an exception that you normally don't want to handle.  So exception
> clauses like:
> > try:
> >    do_stuff()
> > except Exception:
> >    handle_error()
> >
> > will work as expected, and yet allow tasklets to be killed without
> fuss.
> 
> Agree... though I was talking about BaseException (rather then
> Exception).
> i.e. do we want this:
> 
> BaseException
>  +-- SystemExit
>  +-- TaskletExit
>  +-- KeyboardInterrupt
>  +-- GeneratorExit
>  +-- Exception
>       +-- StopIteration
>       +-- StandardError
>       |    +-- BufferError
>        ...
> 
> Or
> 
> BaseException
>  +-- SystemExit
>       +-- TaskletExit
>  +-- KeyboardInterrupt
>  +-- GeneratorExit
>  +-- Exception
>       +-- StopIteration
>       +-- StandardError
>       |    +-- BufferError
>        ...
> 
> Unless there is some good reason for the latter, I think we want the
> former, no?
> I can't think of a good reason -- and it might be confusing to someone
> who is doing something
> where they catch SystemExit (probably in a 'finally'), expecting to see
> it only once...
> 
> 
> >
> > K
> >
> >> -----Original Message-----
> >> From: stackless-bounces at stackless.com [mailto:stackless-
> >> bounces at stackless.com] On Behalf Of Jeff Senn
> >> Sent: 24. júní 2010 16:13
> >> To: The Stackless Python Mailing List
> >> Subject: Re: [Stackless] stackess for 2.7
> >>
> >> Progress - it's now building, but I do see regular python test fails
> >> (compared to stock 2.7.rc2) on:
> >>
> >> test_email test_functools test_pep352 test_pickletools test_sax
> >> test_sys test_tk test_ttk_guionly
> >>
> >> I'm looking into them.  In particular so far:
> >>
> >> test_pep352 fails because a text file in the test is missing a
> >> reference to TaskletExit.
> >> Easy to fix, though it also raises an issue about whether
> TaskletExit
> >> should really be derived
> >> from SystemExit or the BaseException class.
> >>
> >> test_functools is related the test_pickletools fail which might have
> >> something to do with
> >> the other pickling problem that Kristjan mentioned.  K- Does
> >> test_pickletools succeed for you?
> >> The problem seems to have to do with some wrapping of a function by
> >> stackless...
> >>
> >> test_email and text_sax have to do with line endings (\n vs \r\n) --
> >> which is odd and troublesome...
> >> and I'm looking more...
> >>
> >> test_sys has to do with the slot wrapper object size (for
> int.__add__)
> >> being 44 bytes instead of 40.
> >> (This might be correct for stackless -- it appears this test is
> >> commented out in release26_maint)
> >>
> >> and I haven't check the tk stuff yet at all...
> >>
> >>
> >
> >
> > _______________________________________________
> > Stackless mailing list
> > Stackless at stackless.com
> > http://www.stackless.com/mailman/listinfo/stackless
> >
> 
> 
> _______________________________________________
> Stackless mailing list
> Stackless at stackless.com
> http://www.stackless.com/mailman/listinfo/stackless




More information about the Stackless mailing list