in reply to Re^2: why won't the hash go away?
in thread why won't the hash go away?
You could set it up so that each shuffle is done after a fork, and just wait for that one to end/die before going to the next. Something like (untested; off top of head & docs, but i think is the general outline):
So the %positions isn't created/populated (made huge) until in the fork'd process, so when that exits, the memory will get freed to the system, but your program is still going from the parent process.my @deck = create_deck(); while(1){ # or whatever; loop over specific deals, or do just N deals +, etc. my $pid = fork; die unless defined $pid; if($pid){ # parent wait; # report on $? if desired next; } do_heavy_lifting(\@deck); exit; # w/an error code based on result if desired } sub do_heavy_lifting { ... my %positions = ....; ... }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^4: why won't the hash go away?
by kyle (Abbot) on Jan 13, 2008 at 02:35 UTC | |
by WoodyWeaver (Monk) on Jan 14, 2008 at 22:21 UTC | |
by BrowserUk (Patriarch) on Jan 14, 2008 at 22:31 UTC | |
by WoodyWeaver (Monk) on Jan 14, 2008 at 23:23 UTC | |
Managing re-exec (was: Re^4: why won't the hash go away?
by WoodyWeaver (Monk) on Jan 13, 2008 at 00:29 UTC |
In Section
Seekers of Perl Wisdom