Popen and EVFILT_WRITE question

Dag-Erling Smørgrav des at des.no
Tue Apr 1 03:14:12 PDT 2008


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?

> 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.  Those that don't should be fixed,
unless there is a very good reason (such as asking the user to accept a
license before installing).

You could also ask somebody in portmgr@ how the package-building cluster
deals with this.

DES
-- 
Dag-Erling Smørgrav - des at des.no


More information about the freebsd-hackers mailing list