nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Re: Redirect von StdOut und StdErr Multikernprozessoren

Von: Raymond Czerny (chip@raymisoft.de) [Profil]
Datum: 01.06.2008 19:54
Message-ID: <6ag63qF3739r4U1@mid.individual.net>
Newsgroup: de.comp.lang.delphi.misc
Hallo Marian,
>
>> Aber bei echten Multikernprozessoren funktioniert das Umleiten von
>> StdOut und StdErr nicht mehr.
>
> Ich kann meine Glaskugel nicht starten um das Problem zu erkennen. Aber
> ich frage mich:
>
>> * 4 Threads
>>     - Hauptprogramm (IDE)
>>     - Kommandozeilenprogramm ( mit CreateProcess )
>>     - Auslesen von StdOut
>>     - Auslesen von StdErr
>
> Wieso sind das vier Threads? Schlimmstenfalls könnte ich mir zwei
> vorstellen.

Sequenzielles lesen von StdOut und StrErr kann machmal zu Datenverlusten
führen, das StrErr nicht gepuffert wird.

>
> Einer ist der für die VCL, der Hauptthread. Der zweite startet das externe
> Programm und liest dessen Ausgaben. Das auf mehrere Threads zu verteilen
> erscheint mit übermäßig kompliziert. Derjenige, der das Programm
gestartet
> hat, hat doch sowieso nix zu tun als auf dessen Ende zu warten, oder? Da
> kann er ja gut noch ein bisschen anpacken und die zwei Pipes bedienen :-).
>

Um nach dem Programmende aufzuräumen:
- Threads beenden
- CloseHandle

>> Wer kann mir helfen?
>
> Du könntest damit anfangen "funktioniert nicht mehr" etwas genauer
zu
> spezifizieren.

ReadFile auf die Pipes von Stdout und StdErr liest nichts. Es wird immer
eine Größe 0 zurückgegeben.

Gruß Raymond

[ Auf dieses Posting antworten ]