Guten Morgen!
Nachdem bei der letzten frage glaube ich hauptsächlich die Problemstellung von mir schlecht erklärt worden ist..
werd ich das versuchen jetzt zu vermeiden...
also:
In meinem Skript gibt es ein Array von Objekten.
In einer foreach schleife wird dann für jedes Objekt ein eigener Prozess erzeugt,
in das jeweilige Objekt mit daten gefüttert werden soll. DAs sieht so aus:
foreach( @$obj ) #ist eigenltich ein pointer auf ein array.... egal
{
$pid = fork();
if( $pid == 0 ) #child
{
&setobj( $_ );
exit 0;
}
else
{
push( @pids, $pid );
}
}
Nachdem fork ja eine "kopie" des Prozesses und allen variablen erstellt..
sollte im kindprozess der aufruf von setobj( $_ ) ja auf das gleiche Objekt wie im Elternprozess zeigen.
sub setobj #sieht ca so aus:
{
my $obj = shift;
$$obj -> setval( "WERT" );
}
Das Problem ist, dass ich nachher im Elternprozess keine Daten in meinem obj habe, und ich verstehe nicth wieso.
durch die REferenz auf das Objekt müsste der kindprozess doch eigenltihc auf den gleichen speicher schreiben, den der Elternprozess verwendet oder..?
Danke scon mal und lg.
Roman