in reply to Re^3: Slow evolution of Perl = Perl is a closed Word (NQP, parrot concurrency == Oh dear.)
in thread Slow evolution of Perl = Perl is a closed Word
In the "shared everything" model, code that touches shared PMCs needs to be cloned into the offending thread.
Ask yourself why? Why does anything need to be cloned? There is only one reason. Fork emulation.
But if you have a real fork, you don't need to do that.
And if you don't have a real fork, the fork emulation benefits nobody, because you do not have, and cannot provide, all the other bits that go with it.
Signals for instance. Sure, Parrot could attempt to emulate signals as perl 5 has done, but it will only ever work for other parrot processes. You won't get a SIGCHLD when a non-perl child terminates because the OS doesn't do that. And that's just the tip of the iceberg.
Fork emulation just doesn't work, and perpectuating it serves no good purpose.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^5: Slow evolution of Perl = Perl is a closed Word (NQP, parrot concurrency == Oh dear.)
by erroneousBollock (Curate) on Sep 11, 2007 at 05:05 UTC | |
by BrowserUk (Patriarch) on Sep 11, 2007 at 05:35 UTC |