[Vienna-pm] fork & verschiedene filehandles

Baier Oliver Oliver.Baier at lotterien.at
Mon Jan 17 06:43:19 PST 2005


Hi,

filehandles und deren Uebergabe kristallisieren sich schoen langsam
als Schwachstelle von mir heraus.

Ich habe ein Programm, das parallel mehrere child-Prozesse forked.
Da ich Infos von den children an den parent schicken will, hatte ich
zuerst vor den forks ein "pipe FROM_CHILD, TO_PARENT;".
Das klappt zwar, doch weiss ich ohne besondere Vorkehrungen nicht,
von welchem child die message kam; und ich will es vermeiden jeder
Info die child-pid voranzustellen und sie dann im parent zu analysieren.

Ich wuerde gerne zu jedem child eine pipe aufmachen, doch weiss ich
nicht, wie ich's angehen soll. Dieser Ansatz funktioniert nicht:

	my($FROM_CHILD, $TO_PARENT) = &getfh;
	FORK: if (my $childpid = fork) {...

	sub getfh {
	    local *FROM_CHILD;
	    local *TO_PARENT;
	    pipe FROM_CHILD, TO_PARENT;
	    TO_PARENT->autoflush(1);
	    return *FROM_CHILD, *TO_PARENT;
	}

Bitte um einen Tip.

lg
Oliver
=====================================================

Die übermittelten Informationen sind nur für die Organisation/Person bestimmt, an die sie adressiert sind und können persönliches, vertrauliches oder rechtlich geschütztes Material enthalten. Andere Personen als der beabsichtigte Empfänger dieser E-Mail sind nicht dazu befugt, diese Informationen abzurufen, weiterzuleiten, zu reproduzieren oder auf sonstige andere Weise zu verwenden. Für den Fall, dass Sie diese Nachricht irrtümlicherweise erhalten haben, wenden Sie sich bitte an den Absender und löschen Sie diese.

HINWEIS:

E-Mail-Verkehr ist nicht sicher und es kann nicht garantiert werden, dass Informationen vollständig, unverfälscht, etc. beim Empfänger ankommen.

=====================================================

The transmitted information is only meant for the addressed organization/person and may contain personal, confidential or legally protected material. Other persons than the intended addressee are not allowed to retrieve, forward, reproduce or use this information in any manner. If you received this message by mistake, please consult the sender and erase it.

NOTICE:

E-Mail-traffic may not be safe and it can not be assured that the received information is complete, accurate, etc.



More information about the Vienna-pm mailing list