Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

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.


Replies are listed 'Best First'.
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?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://761115]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (6)
As of 2017-11-22 02:47 GMT
Find Nodes?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:

    Results (314 votes). Check out past polls.