Popen and EVFILT_WRITE question

Mel fbsd.hackers at rachie.is-a-geek.net
Tue Apr 1 14:00:17 PDT 2008


On Tuesday 01 April 2008 12:14:08 Dag-Erling Smørgrav wrote:
> Mel <fbsd.hackers at rachie.is-a-geek.net> writes:
> > Dag-Erling Smørgrav <des at des.no> writes:
> > > it will either read input or it won't, and what happens when it
> > > reads depends entirely on what the fd it reads from is connected to,
> > > whether it's a slow or fast device, blocking or non-blocking, etc.
> >
> > The kernel knows that the fd at the end of the pipe is blocked for
> > reading.
>
> I'm not sure what you mean by that; do you mean that it's sleeping in
> read() or similar?  What if it uses select(), poll() or kqueue()
> instead?

I was hoping the fd had some property "I'm blocked for reading".

> > Does it also know it's the end of a pipe and what's on the other end?
> > Cause it would be a cool filter to have, if you could detect a blocked
> > child as a parent. It sure is better then arbitrary timeouts (this code
> > will run 'make install' as a daemon(3) and write 'yes' on those nasty
> > post-install questions in ports).
>
> Many ports will simply use the default configuration instead of asking
> if you build them with -DBATCH.

Yeah, but that part is in the foreground, cause I don't want default values, I 
want to be able to configure the ports and it's dependencies and then build 
everything in the background (make config-recursive is flawed by design, 
that's why I started building this).
Looks like BATCH is a good idea though. Thanks for making me look at that 
again!

-- 
Mel


More information about the freebsd-hackers mailing list