Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://761115]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (3)
As of 2022-05-16 18:23 GMT
Find Nodes?
    Voting Booth?
    Do you prefer to work remotely?

    Results (63 votes). Check out past polls.