[pypy-dev] pypy ignores signals sometimes was: parallel building

Nathan Hurst njh at njhurst.com
Mon Jul 29 01:28:08 CEST 2013


On Mon, Jul 22, 2013 at 09:06:51AM +0200, Maciej Fijalkowski wrote:
> On Mon, Jul 22, 2013 at 8:18 AM, Nathan Hurst <njh at njhurst.com> wrote:
> > On Sun, Jul 21, 2013 at 08:25:46PM -0700, Alex Gaynor wrote:
> >> No, there currently isn't a way to parallelize building.
> >
> > Ok.  Is it hard or just low priority?
> 
> hard. there is some work ongoing, but we need a working STM first ;-)

Thanks for the explanation Alex+Maciej - I'll just get used to waiting.

Ok.  I'm just learning about python threading (after reading about
STMs - I've always used multiprocessing for compute heavy stuff and
greenlets for servery stuff) and I tried this simple program:

import threading
 
class MyThread(threading.Thread):
    def run(self):
        while True:
            pass

thread = MyThread()
thread.start()
thread.join()

now clearly this program is never going to terminate without some kind
of external interrupt.  But the strange thing is, it doesn't terminate
when I use control-C on it either (it does terminate correctly from
eclipse.pydev with the stop button):

njh $ pypy threadtoy.py
^C
^Z
[1]+  Stopped                 pypy threadtoy.py
njh $ kill %
[1]+  Stopped                 pypy threadtoy.py
njh $ 
[1]+  Terminated              pypy threadtoy.py

why does python and pypy do this?  Is it part of the GIL problem?
will STM fix it?

regards,
njh


More information about the pypy-dev mailing list