Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re: Embedded Perl - Saving State?

by samtregar (Abbot)
on Apr 30, 2009 at 16:41 UTC ( #761115=note: print w/ replies, xml ) Need Help??


in reply to Embedded Perl - Saving State?

I'm going to go out on a limb here and say it'd be really hard. Think about all the stuff that's in Perl's memory space - pointers to heap storage, filehandles, dynamically loaded libraries, mmap'd files, network sockets, and much more. Serializing a Perl process and restarting it is no more likely to work than any other C app, by which I mean not likely at all.

If you're determined to give it a try anyway you could look at how CORE::dump() and the -u option work. You can't use them directly since you'd cause your C app to dump core that way, but it might still be useful. You've got a harder job to do that CORE::dump() since you somehow have to figure out which memory to dump and when you reload you've got to deal with the fact that your memory space isn't necessarily the same.

-sam


Comment on Re: Embedded Perl - Saving State?
Re^2: Embedded Perl - Saving State?
by McD (Chaplain) on May 01, 2009 at 02:59 UTC
    I'm going to go out on a limb here and say it'd be really hard.

    Yeah. That's kind of the conclusion I'd come to, but I was hoping someone might have some firsthand knowledge.

    API calls in proto.h like perl_clone(), Perl_get_context() and Perl_set_context() made me think it wasn't a total pipe dream...

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://761115]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (10)
As of 2014-09-17 22:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (100 votes), past polls