Re: Bug in IO libraries when sending data through a pipe?

2002-03-21 Thread Volker Wysk
Hi On 21 Mar 2002, Jens Petersen wrote: > Volker Wysk <[EMAIL PROTECTED]> writes: > > POpen-1.0.0 contains the same bug which I made. It doesn't ensure that > > the values which are needed after the call of forkProcess, before that > > of executeFile, are fully evaluated. So, if they are read laz

Re: Bug in IO libraries when sending data through a pipe?

2002-03-21 Thread Jens Petersen
Hi Volker, Volker Wysk <[EMAIL PROTECTED]> writes: > On Mit, 2002-03-20 at 07:00, Jens Petersen wrote: > > Jens Petersen <[EMAIL PROTECTED]> writes: > > > > > > The problem is that the child process doesn't > > > > receive all the data which the parent sends. It's as > > > > if "hPutStr vonh tx

Re: Bug in IO libraries when sending data through a pipe?

2002-03-20 Thread Volker Wysk
On Mit, 2002-03-20 at 07:00, Jens Petersen wrote: > Jens Petersen <[EMAIL PROTECTED]> writes: > > > > The problem is that the child process doesn't receive all the data which > > > the parent sends. It's as if "hPutStr vonh txt" sends the data lazily > > > somehow, and "hClose vonh" closes the pi

Re: Bug in IO libraries when sending data through a pipe?

2002-03-19 Thread Jens Petersen
Jens Petersen <[EMAIL PROTECTED]> writes: > > The problem is that the child process doesn't receive all the data which > > the parent sends. It's as if "hPutStr vonh txt" sends the data lazily > > somehow, and "hClose vonh" closes the pipe prematurely. > > > > It varies from run to run exactly w

Re: Bug in IO libraries when sending data through a pipe?

2002-03-10 Thread Jens Petersen
Volker Wysk <[EMAIL PROTECTED]> writes: > (zu, von) <- createPipe > vonh <- fdToHandle von > hSetBuffering vonh NoBuffering > mpid <- forkProcess > case mpid of >Nothing -> do -- child > -- connect pipe's read end to stdin >

Bug in IO libraries when sending data through a pipe?

2002-03-10 Thread Volker Wysk
Hello There seems to be a bug in the IO libraries. I'm using the following procedure to call an external program and send it data through a pipe. pipeto :: String -> String -> [String] -> IO () pipeto txt prog par = do catch (do -- create pipe (zu, von) <- createPipe