RE: J. Browns Pipe library error

new topic     » goto parent     » topic index » view thread      » older message » newer message

Hi

Nope, doesn't work. Quote. Still get too many files open. Already tried 
that sad

Chris


Elliott S. de Andrade wrote:
> 
> 
>    Try using os_close() on the last three values returned from popen. These 
>    
> would be pin, pout, and perr in your code.
> 
> >From: Chris Burch <chriscrylex at aol.com>
> >Reply-To: EUforum at topica.com
> >To: EUforum at topica.com
> >Subject: J. Browns Pipe library error
> >Date: Mon, 22 Dec 2003 15:08:33 +0000
> >
> >Hi
> >
> >Try this
> >
> >--with trace
> >include graphics.e
> >include pipeio.e
> >
> >sequence line
> >clear_screen()
> >
> >puts(1, "Debug 1\n")
> >
> >sequence data
> >integer pid, pin, pout, perr
> >object c
> >
> >while(1) do
> >
> >data = popen("/home/crylex/euphoria/bin/exu", {"./subprocess1.exu"})
> >--data = popen("/bin/echo", {"Hello", "jobby"})
> >
> >pid = data[1]
> >pin = data[2]
> >pout = data[3]
> >perr = data[4]
> >
> >puts(1,"Debug 2\n")
> >
> >c = os_read(pout, 256)
> >
> >puts(1,"Debug 3\n")
> >
> >if atom(c) then
> >     printf(1, "Failed on read with error %x", os_errno)
> >     abort(1)
> >end if
> >
> >puts(1, c)
> >
> >--have to stop the program in order to see the output!
> >--line = gets(0)
> >
> >VOID = os_kill(pid, 15)
> >--close(pout)
> >
> >end while
> >
> >
> >Eventually you'll get Errno = 24
> >
> >Little c prog to get errno string gives
> >
> >Too many open files
> >
> >Doesn't seem to be a way to close open pipes in this lib (is an os_close
> >function, but this needs a handle, and can't see any way of getting a
> >handle)
> >
> >Any ideas anyone
> >
> >Regards
> >
> >Chris
> >
>

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu