[so] help windows pipes

Cibu Cristian so@atlantis.cs.pub.ro
Wed, 29 Oct 2003 14:18:15 +0200


This is a multi-part message in MIME format.

------=_NextPart_000_0027_01C39E27.7E220DE0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

mai am putin si imi merg pipe-urile in windows. am insa o problema:
am creat un tatic care da in executie doi copii. fiecare copil (defapt =
acelasi executabil) citeste din stdin pana nu mai poate si scrie tot in =
stdout
(ca in exemplul din SDK, deci e acelasi cod).

am incercat sa creez un pipe prin care copil1, cand scrie in stdout-ul =
lui, sa ajunga ce scrie in stdin-ul lui copil 2.

pentru asta am creat un pipe anonim in parinte (ca in exemplul din sdk), =
am redirectionat stdout spre un capat al pipe-ului (capatul corect), am =
creat primul copil, am refacut stdout, am redirectionat stdin spre =
celalat capat, am creat al doilea copil si am asteptat sa se termine =
amandoi copiii. totul merge bine. adica introduc un text in consola, dau =
enter si imediat imi apare echoul. dau F6 sau ^Z, se opreste primul =
copil (cel care citea de la tastatura si scria in pipe) dar copiul 2 nu =
se opreste.=20

Ce credeti ca am gresit?

------=_NextPart_000_0027_01C39E27.7E220DE0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2600.0" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>mai am putin si imi merg pipe-urile in =
windows. am=20
insa o problema:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>am creat un tatic care da in executie =
doi copii.=20
fiecare copil (defapt acelasi executabil) citeste din stdin pana nu mai =
poate si=20
scrie tot in stdout</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>(ca in exemplul din SDK, deci e acelasi =

cod).</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>am incercat sa creez un pipe prin care =
copil1, cand=20
scrie in stdout-ul lui, sa ajunga ce scrie in stdin-ul lui copil =
2.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>pentru asta am creat un pipe anonim in =
parinte (ca=20
in exemplul din sdk), am redirectionat stdout spre un capat al pipe-ului =

(capatul corect), am creat primul copil, am refacut stdout, am =
redirectionat=20
stdin spre celalat capat, am creat al doilea copil si am asteptat sa se =
termine=20
amandoi copiii. totul merge bine. adica introduc un text in consola, dau =
enter=20
si imediat imi apare echoul. dau F6 sau ^Z, se opreste primul copil (cel =
care=20
citea de la tastatura si scria in pipe) dar copiul 2 nu se opreste.=20
</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Ce credeti ca am =
gresit?</FONT></DIV></BODY></HTML>

------=_NextPart_000_0027_01C39E27.7E220DE0--