IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New So, Perl assumes POSIX compliance in the OS, eh?
Rather presumptious of it, doncha think?
jb4
"There are two ways for you to have lower Prescription-drug costs. One is you could hire Rush Limbaugh's housekeeper ... or you can elect me President."
John Kerry
New No
See [link|http://www.perldoc.com/perl5.8.0/pod/perlfork.html|perlfork] for how Perl emulates forking on operating systems that don't support it. For a broader introduction to portability and Perl, read [link|http://www.perldoc.com/perl5.8.0/pod/perlport.html|perlport].

As usual, Perl's philosophy is to give you enough rope to hang yourself. Perl came from POSIX systems, it offers interfaces to POSIX-specific capabilities. But nobody is saying that you have to use them. And where they don't exist, Perl does its level best to do something reasonable instead.

The result is that while it is trivial to write unportable Perl code, nearly all Perl code that you encounter is portable by default to all supported platforms. (Were it not so, then CPAN would never have succeeded.) Supported platforms may be found by scanning the PLATFORMS section of perlport above.

Cheers,
Ben
"good ideas and bad code build communities, the other three combinations do not"
- [link|http://archives.real-time.com/pipermail/cocoon-devel/2000-October/003023.html|Stefano Mazzocchi]
New Interesting, but looks like a bit of a kluge
The fact that the emulator spawns threads instead of processes means that the desired protection between the fork-ed processes from each other does not exist. I am no Perl guru (hell, I barely know anything about it), but from a design standpoint, this means that any Perl script must be designed to the target platform...and I thought that was counter to what Perl was supposed to be about.

(Yeah, Perl does not claim to be Java...but still....)
jb4
"There are two ways for you to have lower Prescription-drug costs. One is you could hire Rush Limbaugh's housekeeper ... or you can elect me President."
John Kerry
New It is a kludge
It is meant as a workaround for features that the OS doesn't have. As for protection, the fact that each thread has its own interpreter, and interpreters do not by default share memory, means that most of the protection that you want is there. (The page that I pointed you had describes many of the things that don't get protected.)

For the record, that multi-threading model was not intended to be used as a fork() emulation. Rather it was meant to make it possible for Perl to integrate well into IIS, which is multi-threaded. But given that they had the capability, the fork() emulation made sense.

On Perl's design. Perl was not intended to be "about" anything. (OK, making easy things easy and difficult things possible...) It was designed as a general-purpose reporting tool for use on Unix, and kind of evolved. In the end Perl turned out to be highly portable, but that wasn't a design goal.

Cheers,
Ben
"good ideas and bad code build communities, the other three combinations do not"
- [link|http://archives.real-time.com/pipermail/cocoon-devel/2000-October/003023.html|Stefano Mazzocchi]
New Re: It is a kludge
There are (sigh, were) similar issue with getting things that were born under UNIX to live in the VMS world.
-drl
New One of those things was Perl ;-)
"good ideas and bad code build communities, the other three combinations do not"
- [link|http://archives.real-time.com/pipermail/cocoon-devel/2000-October/003023.html|Stefano Mazzocchi]
New Don't I know!
I once downloaded and compiled it on a VAX which had Perl v.low on it :)
-drl
     multithreaded Perl? - (slugbug) - (36)
         What the?? - (deSitter) - (14)
             multi-instance... - (slugbug) - (8)
                 If this is a Unixy system, definitely go with fork() - (ben_tilly) - (1)
                     Yes... - (slugbug)
                 Re: multi-instance... - (deSitter) - (5)
                     Er... - (admin) - (1)
                         DAMMIT! I WANT TOYS! -NT - (deSitter)
                     toys, toys, toys... - (slugbug) - (2)
                         Re: toys, toys, toys... - (deSitter)
                         Re: toys, toys, toys... (new thread) - (admin)
             Re: What the?? - (jb4) - (4)
                 That's 4GB of angle brackets alone! -NT - (deSitter) - (2)
                     Don't laugh... - (admin)
                     Yes, the developers of LISP would be proud... -NT - (jb4)
                 nope.... - (slugbug)
         Possible, but I wouldn't - (ben_tilly) - (15)
             Ben, thank you.... - (slugbug) - (14)
                 No problem - (ben_tilly) - (13)
                     Re: No problem - (deSitter) - (2)
                         The more you can do, the more they ask you to do - (ben_tilly) - (1)
                             Absolutely. - (admin)
                     this is an... - (slugbug)
                     So, Perl assumes POSIX compliance in the OS, eh? - (jb4) - (6)
                         No - (ben_tilly) - (5)
                             Interesting, but looks like a bit of a kluge - (jb4) - (4)
                                 It is a kludge - (ben_tilly) - (3)
                                     Re: It is a kludge - (deSitter) - (2)
                                         One of those things was Perl ;-) -NT - (ben_tilly) - (1)
                                             Don't I know! - (deSitter)
                     Query: I've played a (small) amount with the multithreading - (Simon_Jester) - (1)
                         That scheduler optimization is pretty recent IIRC -NT - (ben_tilly)
         More info please - (broomberg) - (4)
             Geez. 1 day late and nothin! -NT - (broomberg)
             1 day late and.... - (slugbug) - (2)
                 IFS? - (broomberg) - (1)
                     Re: IFS? - (slugbug)

I turned to him, I said, "A-balone. You're just being shellfish." Well, I knew it was going to be trouble and so did Gill, who was already on the phone to the cods.
62 ms