[...]
Wait for the process to terminate, using

    waitForProcess pid

Thanks fro the prompt response Don, I should have said it, but I knew about waitForProcess pid but I did not want to use it.
The reason is the following, if I do

getTextOfPdf pdfPath = do
    (inp,out,err,pid) <- runInteractiveCommand ("pdftotext -l 1 "+
+pdfPath++" -")
    waitForProcess pid
    return (hGetContents out)

it deadlocks, because I did not read out yet, and if the buffer is full then the process sleeps waiting for me to read. So I can forkIO the wait, but then the question is do I have to wait for the thread? Giving back the pid along with out is a solution, but I did not want to caller to know about the detail that I am using an external process to get the data. Also I did not want to read everything in memory, as I think you do in your example, ok I could, but why should I, we are lazy right?...

Fawzi

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to