At 09:51 AM 9/29/2001 -0400, Michael Maraist wrote:
> >
> > I generally divide signals into two groups:
> >
> >   *) Messages from outside (i.e. SIGHUP)
> >   *) Indicators of Horrific Failure (i.e. SIGBUS)
> >
> > Generally speaking, parrot should probably just up and die for the first
> > type, and turn the second into events.
>
>I don't know.  SIGHUP is useful to capture.  Not to mention, how else
>would you maintan Perl5 compatibility $SIG{HUP}.  If you're a daemon,
>sighup is good to restart off of.

I got the relative reference wrong. We should die on Horrible Failures and 
turn the messages into events.

>I'm seriously doubting that you're going to get a fully portable
>threading model.  One size doesn't fit all.  Usually that's something
>that the JIT would take care of (hense my preoccupation with
>fake-threads)..

If you winnow things down, one size does fit all. All threading 
implementations need some form of blocking lock, and some way to go to 
sleep pending a wakeup from another thread. Everything else is gravy, and 
you don't really need it to implement threads in parrot. (The JIT doesn't 
do us any good here, since we still need to define a model that parrot 
implements and layer that on top of the platform native threads. JIT just 
makes things go faster)

>How does python handle MT?

Honestly? Really, really badly, at least from a performance point of view. 
There's a single global lock and anything that might affect shared state 
anywhere grabs it.

                                        Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to