Hi, another thing which has bitten me going from PTYs to pipes (specifically because I wanted to have stderr in a separate channel - that part worked nicely), is that the callee "sees" that, thinks "oh, I'm not being called interactively [1] and disables line buffering. Interactivity goes out of the window. Not always welcome :-) I "solved" that by invoking the callee through stdbuf. I didn't know this even existed before. And it's ugly [2] and won't work always. I don't dare yet to use that in other than toy applications (and, of course, to get yourself out of the occasional hard spot). Cheers [1] probably the classical isatty(3) dance. [2] it basically works by sneaking itself into LD_PRELOAD Not that I'm not thankful for someone providing that, mind you. But it's not the typical "for production" thing, I'd say. - t